import { AlertTriangle, Landmark } from "lucide-react"; import Link from "next/link"; import { KAKEIBO_COLOR, KakeiboDot } from "@/features/categories/components/kakeibo-badge"; import { tr } from "@/i18n/tr"; import { cn } from "@/lib/utils"; import { formatMoney } from "@/shared/format"; import { KAKEIBO_GROUPS, type KakeiboGroup } from "@/shared/kakeibo"; import type { KakeiboReport } from "../kakeibo"; import { Change, formatPct } from "./report-frame"; const k = tr.kakeibo; const t = tr.reports.kakeiboReport; /** Dört grubun (ve grupsuzun) harcamadaki payı: tek yığılmış çubuk + lejant + tablo. */ function Composition({ data }: { data: KakeiboReport }) { const s = data.now.summary; const parts = [ ...KAKEIBO_GROUPS.map((g) => ({ key: g, label: k.groups[g], share: s.shares[g], color: KAKEIBO_COLOR[g], })), ...(s.ungroupedMinor ? [ { key: "UNGROUPED", label: k.ungrouped, share: s.ungroupedShare, color: "var(--muted-foreground)", }, ] : []), ].filter((p) => p.share > 0); return (
{k.groupHints[group]}
{formatMoney(s.groups[group])}
{formatPct(s.shares[group])} ·{" "}
{t.noSpending}
)}{t.ungroupedHelp}{" "} {t.goCategories}