import { ratingExplainedSchema, type RatingExplained, } from "@/lib/schemas"; import { cn } from "@/lib/utils"; const intensityColors = { mild: "text-emerald-300 bg-emerald-400/10 border-emerald-400/20", moderate: "text-amber-300 bg-amber-400/10 border-amber-400/20", strong: "text-red-300 bg-red-400/10 border-red-400/20", }; export function RatingExplainedView({ data }: { data: unknown }) { const result = ratingExplainedSchema.safeParse(data); if (!result.success) { return (
Could not display this insight (data format issue). Try another card or refresh later.
); } const parsed = result.data as RatingExplained; return (

{parsed.region} rating

{parsed.officialRating}

{parsed.summary}

{parsed.factors.map((factor, index) => (
{factor.category} {factor.intensity} {factor.approximateTiming ? ( ~{factor.approximateTiming} ) : null}

{factor.description}

))}
{parsed.borderlineNote ? (

{parsed.borderlineNote}

) : null}
); }