/**
* Inline SVG icons for social media platforms.
* Monoline stroke style matching CategoryIcons.tsx.
*/
const S = { width: "1.25em", height: "1.25em", verticalAlign: "-0.15em" } as const;
const P = { fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round" as const, strokeLinejoin: "round" as const };
export function IconInstagram() {
return (
);
}
export function IconYoutube() {
return (
);
}
export function IconBandcamp() {
return (
);
}
export function IconSoundcloud() {
return (
);
}
export function IconTwitter() {
return (
);
}
export function IconSpotify() {
return (
);
}
export function IconFacebook() {
return (
);
}
export function IconTwitch() {
return (
);
}
export function IconGlobe() {
return (
);
}
const ICON_MAP: Record JSX.Element> = {
instagram: IconInstagram,
youtube: IconYoutube,
bandcamp: IconBandcamp,
soundcloud: IconSoundcloud,
twitter: IconTwitter,
x: IconTwitter,
spotify: IconSpotify,
facebook: IconFacebook,
twitch: IconTwitch,
};
/** Resolves a platform name to the matching icon, falling back to globe. */
export function SocialIcon({ platform }: { platform: string }) {
const Icon = ICON_MAP[platform.toLowerCase()] ?? IconGlobe;
return ;
}