// frontend/components/tasks/RiskRadar.tsx "use client"; import { Icon } from "@/components/Icon"; import type { IconName } from "@/components/icons/paths"; import type { Risk } from "@/lib/types"; function Bolded({ text }: { text: string }) { // "**A**B" → AB (정규식 split, dangerouslySetInnerHTML 미사용) return ( <> {text.split(/(\*\*[^*]+\*\*)/).map((s, i) => s.startsWith("**") ? {s.slice(2, -2)} : {s}, )} > ); } export function RiskRadar({ risks, onOpen }: { risks: Risk[]; onOpen: (id: string) => void }) { if (!risks.length) return null; return (