From 3bc778219864975516e33158563306bb791da4fd Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 20 Apr 2026 17:47:47 +0200 Subject: [PATCH] feat(06-02): create 19-item preset budget library - Add PresetItem interface with slug, type, defaultAmount, item_tier - Export PRESETS array with 19 items across 6 category types - Distribution: 4 income, 4 bill, 5 variable_expense, 2 debt, 2 saving, 2 investment - All item_tier values are fixed or variable (no one_off) --- src/data/presets.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/data/presets.ts diff --git a/src/data/presets.ts b/src/data/presets.ts new file mode 100644 index 0000000..4d593f4 --- /dev/null +++ b/src/data/presets.ts @@ -0,0 +1,36 @@ +import type { CategoryType } from "@/lib/types" + +export interface PresetItem { + slug: string + type: CategoryType + defaultAmount: number // EUR, round number — do NOT suffix with currency symbol + item_tier: "fixed" | "variable" +} + +export const PRESETS: PresetItem[] = [ + // income (4) + { slug: "salary", type: "income", defaultAmount: 3000, item_tier: "fixed" }, + { slug: "freelance", type: "income", defaultAmount: 500, item_tier: "variable" }, + { slug: "rental_income", type: "income", defaultAmount: 800, item_tier: "fixed" }, + { slug: "other_income", type: "income", defaultAmount: 200, item_tier: "variable" }, + // bill (4) + { slug: "rent", type: "bill", defaultAmount: 1000, item_tier: "fixed" }, + { slug: "electricity", type: "bill", defaultAmount: 80, item_tier: "fixed" }, + { slug: "internet", type: "bill", defaultAmount: 40, item_tier: "fixed" }, + { slug: "phone", type: "bill", defaultAmount: 30, item_tier: "fixed" }, + // variable_expense (5) + { slug: "groceries", type: "variable_expense", defaultAmount: 400, item_tier: "variable" }, + { slug: "transport", type: "variable_expense", defaultAmount: 100, item_tier: "variable" }, + { slug: "dining_out", type: "variable_expense", defaultAmount: 150, item_tier: "variable" }, + { slug: "health", type: "variable_expense", defaultAmount: 50, item_tier: "variable" }, + { slug: "clothing", type: "variable_expense", defaultAmount: 100, item_tier: "variable" }, + // debt (2) + { slug: "loan_repayment", type: "debt", defaultAmount: 200, item_tier: "fixed" }, + { slug: "credit_card", type: "debt", defaultAmount: 100, item_tier: "fixed" }, + // saving (2) + { slug: "emergency_fund", type: "saving", defaultAmount: 200, item_tier: "fixed" }, + { slug: "vacation", type: "saving", defaultAmount: 100, item_tier: "fixed" }, + // investment (2) + { slug: "etf", type: "investment", defaultAmount: 200, item_tier: "fixed" }, + { slug: "pension", type: "investment", defaultAmount: 100, item_tier: "fixed" }, +]