toEmbedUrl static method

String toEmbedUrl(
  1. String url
)

Converts share URLs to open.spotify.com/embed/... iframe URLs.

Implementation

static String toEmbedUrl(String url) {
  final uri = Uri.parse(_normalizeUrl(url));
  final segments =
      uri.pathSegments.where((segment) => segment.isNotEmpty).toList();
  if (segments.isEmpty) return uri.toString();

  if (segments.first == 'embed') {
    return uri.toString();
  }

  if (segments.length >= 2 && _embedTypes.contains(segments[0])) {
    final type = segments[0];
    final id = segments[1];
    return Uri(
      scheme: 'https',
      host: 'open.spotify.com',
      path: '/embed/$type/$id',
      queryParameters:
          uri.queryParameters.isEmpty ? null : uri.queryParameters,
    ).toString();
  }

  return uri.toString();
}