import { WifiOff, AlertTriangle, Loader2 } from "lucide-react"; type NoSignalVariant = "no-signal" | "error" | "loading"; interface NoSignalProps { variant?: NoSignalVariant; message?: string; } const VARIANTS: Record< NoSignalVariant, { icon: React.ReactNode; heading: string; defaultMessage: string } > = { "no-signal": { icon: , heading: "No Signal", defaultMessage: "Nothing is scheduled to play right now.", }, error: { icon: , heading: "Playback Error", defaultMessage: "Something went wrong. Try switching channels.", }, loading: { icon: , heading: "Loading", defaultMessage: "Tuning in…", }, }; export function NoSignal({ variant = "no-signal", message }: NoSignalProps) { const { icon, heading, defaultMessage } = VARIANTS[variant]; return (
{/* Static noise texture */}
{icon}

{heading}

{message ?? defaultMessage}

); } export type { NoSignalProps, NoSignalVariant };