import type { IconType } from "react-icons";
import {
  FaAmazon,
  FaApple,
  FaDeezer,
  FaInstagram,
  FaMusic,
  FaSpotify,
  FaTiktok,
  FaYoutube,
} from "react-icons/fa";
import { SiTidal, SiYoutubemusic } from "react-icons/si";
import type { PlatformId } from "@/types";

const icons: Record<PlatformId, IconType> = {
  spotify: FaSpotify,
  appleMusic: FaApple,
  amazonMusic: FaAmazon,
  deezer: FaDeezer,
  youtube: FaYoutube,
  youtubeMusic: SiYoutubemusic,
  instagram: FaInstagram,
  tiktok: FaTiktok,
  tidal: SiTidal,
  qobuz: FaMusic,
};

export function PlatformIcon({
  id,
  className,
}: {
  id: PlatformId;
  className?: string;
}) {
  const Icon = icons[id];
  return <Icon aria-hidden="true" className={className} />;
}
