feat(ui): Kakeibo grupları — kategori, işlem formu, rapor ve bütçe özeti

- kategori formunda grup ve banka maliyeti; listede grup rozeti ve grupsuz uyarısı
- işlem formunda "Kategoriden: …" önerili grup seçimi, bölünmüş kalem başına
- /raporlar/kakeibo (yığılmış pay çubuğu, grup kartları, banka maliyeti, grupsuzlar, CSV)
- bütçe sayfasında Kakeibo özeti

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-07 04:51:35 +03:00
parent afc6da1606
commit c0b114efeb
13 changed files with 646 additions and 8 deletions
@@ -139,7 +139,7 @@ function Stat({ label, value, tone }: { label: string; value: string; tone?: str
type Pending = { kind: "edit" } | { kind: "replace"; source: "copy" | "actuals" } | null;
export function BudgetView({ data }: { data: Data }) {
export function BudgetView({ data, summary }: { data: Data; summary?: React.ReactNode }) {
const [pending, setPending] = useState<Pending>(null);
const [busy, setBusy] = useState(false);
const close = () => setPending(null);
@@ -306,6 +306,8 @@ export function BudgetView({ data }: { data: Data }) {
</div>
) : null}
{summary}
{data.lines.length ? (
<ul className="flex flex-col divide-y rounded-xl border bg-card">
{data.lines.map((l) => (