380ddaf303
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
118 lines
4.5 KiB
TypeScript
118 lines
4.5 KiB
TypeScript
import type { IconKey, Swatch } from "@/shared/appearance";
|
||
import type { CategoryKind } from "@/shared/schemas/category";
|
||
|
||
/**
|
||
* Hane oluşturulunca yüklenen varsayılan Türkçe kategori seti (Bölüm 6.2).
|
||
* `key` sabittir: set tekrar yüklendiğinde kopya oluşmaz, kullanıcı adı değiştirse bile tanınır.
|
||
*/
|
||
export type DefaultCategory = {
|
||
key: string;
|
||
name: string;
|
||
icon: IconKey;
|
||
color: Swatch;
|
||
children?: Omit<DefaultCategory, "children">[];
|
||
};
|
||
|
||
export const DEFAULT_CATEGORIES: Record<CategoryKind, DefaultCategory[]> = {
|
||
expense: [
|
||
{
|
||
key: "market",
|
||
name: "Market",
|
||
icon: "shopping-cart",
|
||
color: "green",
|
||
children: [
|
||
{ key: "market.gida", name: "Gıda", icon: "shopping-basket", color: "green" },
|
||
{ key: "market.temizlik", name: "Temizlik", icon: "spray-can", color: "teal" },
|
||
{ key: "market.kisisel-bakim", name: "Kişisel bakım", icon: "sparkles", color: "pink" },
|
||
],
|
||
},
|
||
{
|
||
key: "faturalar",
|
||
name: "Faturalar",
|
||
icon: "receipt",
|
||
color: "amber",
|
||
children: [
|
||
{ key: "faturalar.elektrik", name: "Elektrik", icon: "zap", color: "amber" },
|
||
{ key: "faturalar.su", name: "Su", icon: "droplet", color: "sky" },
|
||
{ key: "faturalar.dogalgaz", name: "Doğalgaz", icon: "flame", color: "orange" },
|
||
{ key: "faturalar.internet", name: "İnternet", icon: "wifi", color: "indigo" },
|
||
{ key: "faturalar.telefon", name: "Telefon", icon: "smartphone", color: "purple" },
|
||
],
|
||
},
|
||
{ key: "kira", name: "Kira", icon: "house", color: "blue" },
|
||
{ key: "aidat", name: "Aidat", icon: "building", color: "slate" },
|
||
{
|
||
key: "ulasim",
|
||
name: "Ulaşım",
|
||
icon: "car",
|
||
color: "sky",
|
||
children: [
|
||
{ key: "ulasim.yakit", name: "Yakıt", icon: "fuel", color: "orange" },
|
||
{ key: "ulasim.toplu-tasima", name: "Toplu taşıma", icon: "bus", color: "sky" },
|
||
{ key: "ulasim.arac-bakim", name: "Araç bakım ve sigorta", icon: "wrench", color: "slate" },
|
||
],
|
||
},
|
||
{
|
||
key: "saglik",
|
||
name: "Sağlık",
|
||
icon: "heart-pulse",
|
||
color: "red",
|
||
children: [
|
||
{ key: "saglik.ilac", name: "İlaç", icon: "pill", color: "red" },
|
||
{ key: "saglik.muayene", name: "Muayene ve tahlil", icon: "heart-pulse", color: "rose" },
|
||
],
|
||
},
|
||
{ key: "egitim", name: "Eğitim", icon: "graduation-cap", color: "indigo" },
|
||
{ key: "giyim", name: "Giyim", icon: "shirt", color: "purple" },
|
||
{
|
||
key: "eglence",
|
||
name: "Eğlence",
|
||
icon: "film",
|
||
color: "pink",
|
||
children: [
|
||
{
|
||
key: "eglence.disarida-yemek",
|
||
name: "Dışarıda yemek",
|
||
icon: "utensils",
|
||
color: "orange",
|
||
},
|
||
{ key: "eglence.kafe", name: "Kafe", icon: "coffee", color: "amber" },
|
||
{ key: "eglence.tatil", name: "Tatil", icon: "plane", color: "sky" },
|
||
],
|
||
},
|
||
{ key: "abonelikler", name: "Abonelikler", icon: "repeat", color: "purple" },
|
||
{ key: "ev", name: "Ev ve mobilya", icon: "sofa", color: "teal" },
|
||
{ key: "cocuk", name: "Çocuk", icon: "baby", color: "rose" },
|
||
{ key: "evcil-hayvan", name: "Evcil hayvan", icon: "paw-print", color: "lime" },
|
||
{ key: "hediye", name: "Hediye ve bağış", icon: "gift", color: "pink" },
|
||
{
|
||
key: "banka",
|
||
name: "Banka ve kart giderleri",
|
||
icon: "percent",
|
||
color: "slate",
|
||
children: [
|
||
{ key: "banka.faiz", name: "Faiz", icon: "percent", color: "red" },
|
||
{ key: "banka.vergi", name: "KKDF / BSMV", icon: "receipt", color: "slate" },
|
||
{
|
||
key: "banka.ucret",
|
||
name: "Kart ve hesap ücretleri",
|
||
icon: "credit-card",
|
||
color: "slate",
|
||
},
|
||
],
|
||
},
|
||
{ key: "vergi", name: "Vergi ve harçlar", icon: "landmark", color: "slate" },
|
||
{ key: "diger-gider", name: "Diğer", icon: "circle-ellipsis", color: "slate" },
|
||
],
|
||
income: [
|
||
{ key: "maas", name: "Maaş", icon: "briefcase", color: "green" },
|
||
{ key: "ek-gelir", name: "Ek gelir", icon: "coins", color: "teal" },
|
||
{ key: "yemek-karti", name: "Yemek kartı yüklemesi", icon: "utensils", color: "lime" },
|
||
{ key: "kira-geliri", name: "Kira geliri", icon: "house", color: "blue" },
|
||
{ key: "getiri", name: "Faiz ve getiri", icon: "trending-up", color: "indigo" },
|
||
{ key: "iade", name: "İade", icon: "undo", color: "sky" },
|
||
{ key: "hediye-gelir", name: "Hediye", icon: "gift", color: "pink" },
|
||
{ key: "diger-gelir", name: "Diğer", icon: "circle-ellipsis", color: "slate" },
|
||
],
|
||
};
|