Files
finanzen/convex/lib/seedCategories.ts
2026-06-15 11:33:23 +02:00

64 lines
4.8 KiB
TypeScript

export type CategoryKind = "einnahme" | "ausgabe";
export type ExpenseBlock = "wiederkehrend" | "variabel";
export type DefaultCategory = {
name: string;
kind: CategoryKind;
block?: ExpenseBlock;
color: string;
icon: string;
sortOrder: number;
};
export const DEFAULT_CATEGORIES: DefaultCategory[] = [
// Einnahmen
{ name: "Gehalt & Besoldung", kind: "einnahme", color: "#22c55e", icon: "Briefcase", sortOrder: 1 },
{ name: "Trennungsgeld / Mietzuschuss", kind: "einnahme", color: "#16a34a", icon: "Home", sortOrder: 2 },
{ name: "Kindergeld", kind: "einnahme", color: "#4ade80", icon: "Baby", sortOrder: 3 },
{ name: "Eigene Überträge / Einzahlungen", kind: "einnahme", color: "#86efac", icon: "ArrowDownLeft", sortOrder: 4 },
{ name: "Zinsen", kind: "einnahme", color: "#059669", icon: "Percent", sortOrder: 5 },
{ name: "Sonstige Einnahmen", kind: "einnahme", color: "#6ee7b7", icon: "CircleDollarSign", sortOrder: 6 },
// Ausgaben wiederkehrend
{ name: "Miete & Wohnen", kind: "ausgabe", block: "wiederkehrend", color: "#6366f1", icon: "Building2", sortOrder: 10 },
{ name: "Kredite & Finanzierung", kind: "ausgabe", block: "wiederkehrend", color: "#4f46e5", icon: "Landmark", sortOrder: 11 },
{ name: "Versicherung & Vorsorge", kind: "ausgabe", block: "wiederkehrend", color: "#4338ca", icon: "Shield", sortOrder: 12 },
{ name: "Energie (Strom/Heizung)", kind: "ausgabe", block: "wiederkehrend", color: "#f59e0b", icon: "Zap", sortOrder: 13 },
{ name: "Wasser & Abwasser", kind: "ausgabe", block: "wiederkehrend", color: "#0ea5e9", icon: "Droplets", sortOrder: 14 },
{ name: "Telekom, Internet & Hosting", kind: "ausgabe", block: "wiederkehrend", color: "#8b5cf6", icon: "Wifi", sortOrder: 15 },
{ name: "Abos & Streaming", kind: "ausgabe", block: "wiederkehrend", color: "#a855f7", icon: "Tv", sortOrder: 16 },
{ name: "Rundfunkbeitrag", kind: "ausgabe", block: "wiederkehrend", color: "#7c3aed", icon: "Radio", sortOrder: 17 },
{ name: "KFZ-Steuer", kind: "ausgabe", block: "wiederkehrend", color: "#64748b", icon: "Car", sortOrder: 18 },
{ name: "Beiträge & Mitgliedschaften", kind: "ausgabe", block: "wiederkehrend", color: "#475569", icon: "Users", sortOrder: 19 },
{ name: "Soziales, Kita & Bildung", kind: "ausgabe", block: "wiederkehrend", color: "#ec4899", icon: "GraduationCap", sortOrder: 20 },
// Ausgaben variabel
{ name: "Lebensmittel & Supermarkt", kind: "ausgabe", block: "variabel", color: "#ef4444", icon: "ShoppingCart", sortOrder: 30 },
{ name: "Drogerie & Körperpflege", kind: "ausgabe", block: "variabel", color: "#f97316", icon: "Sparkles", sortOrder: 31 },
{ name: "Haushalt & Discounter", kind: "ausgabe", block: "variabel", color: "#fb923c", icon: "Store", sortOrder: 32 },
{ name: "Tanken", kind: "ausgabe", block: "variabel", color: "#eab308", icon: "Fuel", sortOrder: 33 },
{ name: "Auto & Werkstatt", kind: "ausgabe", block: "variabel", color: "#ca8a04", icon: "Wrench", sortOrder: 34 },
{ name: "Bahn, ÖPNV & Mobilität", kind: "ausgabe", block: "variabel", color: "#0284c7", icon: "Train", sortOrder: 35 },
{ name: "Parken", kind: "ausgabe", block: "variabel", color: "#0369a1", icon: "ParkingCircle", sortOrder: 36 },
{ name: "Restaurant, Lieferdienst & Gastro", kind: "ausgabe", block: "variabel", color: "#dc2626", icon: "Utensils", sortOrder: 37 },
{ name: "Haustier (Tierarzt & -bedarf)", kind: "ausgabe", block: "variabel", color: "#d97706", icon: "PawPrint", sortOrder: 38 },
{ name: "Gesundheit & Apotheke", kind: "ausgabe", block: "variabel", color: "#e11d48", icon: "HeartPulse", sortOrder: 39 },
{ name: "Kleidung & Schuhe", kind: "ausgabe", block: "variabel", color: "#db2777", icon: "Shirt", sortOrder: 40 },
{ name: "Baumarkt, Garten & Möbel", kind: "ausgabe", block: "variabel", color: "#65a30d", icon: "Hammer", sortOrder: 41 },
{ name: "Shopping & Online", kind: "ausgabe", block: "variabel", color: "#9333ea", icon: "ShoppingBag", sortOrder: 42 },
{ name: "Freizeit & Kultur", kind: "ausgabe", block: "variabel", color: "#7e22ce", icon: "Ticket", sortOrder: 43 },
{ name: "Porto & Versand", kind: "ausgabe", block: "variabel", color: "#57534e", icon: "Package", sortOrder: 44 },
{ name: "Bargeldauszahlung", kind: "ausgabe", block: "variabel", color: "#78716c", icon: "Banknote", sortOrder: 45 },
{ name: "Bankgebühren & Zinsen", kind: "ausgabe", block: "variabel", color: "#44403c", icon: "Receipt", sortOrder: 46 },
{ name: "Interne & private Überträge", kind: "ausgabe", block: "variabel", color: "#334155", icon: "ArrowLeftRight", sortOrder: 47 },
{ name: "Sonstiges", kind: "ausgabe", block: "variabel", color: "#94a3b8", icon: "MoreHorizontal", sortOrder: 48 },
];
export const DEFAULT_APP_SETTINGS = {
ownNames: [] as string[],
monthBasis: "effective" as const,
salaryShift: {
enabled: true,
categoryNames: ["Gehalt & Besoldung"],
dayThreshold: 25,
},
};