import { useEffect, useState } from "react"; import { Music } from "lucide-react"; interface SpotifyConsentPlayerProps { playlist: string; title: string; accentColor?: string; } function normalizePlaylistId(value: string): string | null { const trimmed = value.trim(); const urlMatch = trimmed.match(/open\.spotify\.com\/playlist\/([a-zA-Z0-9]+)/); const candidate = urlMatch?.[1] || trimmed; return /^[a-zA-Z0-9]+$/.test(candidate) ? candidate : null; } export default function SpotifyConsentPlayer({ playlist, title, accentColor = "#34d399" }: SpotifyConsentPlayerProps) { const [isLoaded, setIsLoaded] = useState(false); const playlistId = normalizePlaylistId(playlist); useEffect(() => { setIsLoaded(false); }, [playlist]); if (!playlistId) return null; if (isLoaded) { return (