import { cn } from "~/lib/utils"; import { parseFlagConfig, type FlagConfig } from "~/lib/flag-types"; interface FlagSvgProps { config: FlagConfig; size?: number; className?: string; title?: string; } const FALLBACK_FLAG: FlagConfig = { pattern: "triband-h", colors: ["#9ca3af", "#6b7280", "#4b5563"] }; export function FlagSvg({ config, size = 48, className, title }: FlagSvgProps) { const safeConfig = parseFlagConfig(config) ?? FALLBACK_FLAG; const [c0, c1, c2] = safeConfig.colors; return ( {title ? {title} : null} {safeConfig.pattern === "triband-h" && ( <> )} {safeConfig.pattern === "triband-v" && ( <> )} {safeConfig.pattern === "diagonal" && ( <> )} {safeConfig.pattern === "nordic-cross" && ( <> )} {safeConfig.pattern === "cross" && ( <> )} {safeConfig.pattern === "canton" && ( <> )} {safeConfig.pattern === "triangle" && ( <> )} {safeConfig.pattern === "chevron" && ( <> )} {safeConfig.pattern === "quartered" && ( <> )} {safeConfig.pattern === "bordered" && ( <> )} {safeConfig.pattern === "circle" && ( <> )} {safeConfig.pattern === "star" && ( <> )} ); }