import { useState } from "react"; interface SourceUrlFormProps { onSubmit: (url: string) => Promise | void; disabled?: boolean; } export function SourceUrlForm({ onSubmit, disabled }: SourceUrlFormProps) { const [url, setUrl] = useState(""); return (
{ event.preventDefault(); if (!url.trim()) return; await onSubmit(url.trim()); }} >

Supports single YouTube videos, YouTube Music tracks, and Spotify track links.

setUrl(event.target.value)} placeholder="https://www.youtube.com/watch?v=..." disabled={disabled} className="w-full rounded-xl border border-border bg-bg-primary px-4 py-3 text-sm text-text-primary outline-none transition-colors placeholder:text-text-secondary focus:border-accent disabled:opacity-50" />
); }