feat(ui): renk paleti, ikonlar, MoneyInput ve navigasyon

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 02:57:58 +03:00
parent 8dd5fd42e3
commit d2aa9d8ae2
12 changed files with 600 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
import type { Metadata } from "next";
import { notFound } from "next/navigation";
import { PageHeader } from "@/components/page-header";
import { CategoriesManager } from "@/features/categories/components/categories-manager";
import { listCategories } from "@/features/categories/service";
import { hasHouseholdRole } from "@/features/households/roles";
import { tr } from "@/i18n/tr";
import { requireActiveHousehold } from "@/lib/dal";
export const metadata: Metadata = { title: tr.categories.title };
export default async function CategoriesPage() {
const { user, household } = await requireActiveHousehold("viewer");
const categories = await listCategories(user.id, household.id, { includeArchived: true });
if (!categories) notFound();
return (
<>
<PageHeader title={tr.categories.title} description={tr.categories.description} />
<CategoriesManager
categories={categories}
canEdit={hasHouseholdRole(household.role, "member")}
/>
</>
);
}
+29
View File
@@ -96,6 +96,21 @@
--chart-4: var(--warning);
--chart-5: oklch(0.65 0.08 230);
--radius: 0.625rem;
/* Kullanıcı verisi renkleri (kategori/hesap): anahtar → değişken (shared/appearance.ts) */
--swatch-blue: oklch(0.6 0.15 258);
--swatch-sky: oklch(0.6 0.15 230);
--swatch-teal: oklch(0.6 0.15 185);
--swatch-green: oklch(0.6 0.15 150);
--swatch-lime: oklch(0.6 0.15 125);
--swatch-amber: oklch(0.6 0.15 80);
--swatch-orange: oklch(0.6 0.15 55);
--swatch-red: oklch(0.6 0.15 25);
--swatch-rose: oklch(0.6 0.15 10);
--swatch-pink: oklch(0.6 0.15 350);
--swatch-purple: oklch(0.6 0.15 305);
--swatch-indigo: oklch(0.6 0.15 275);
--swatch-slate: oklch(0.55 0.03 255);
--sidebar: oklch(0.975 0.008 250);
--sidebar-foreground: oklch(0.22 0.04 262);
--sidebar-primary: oklch(0.49 0.17 258);
@@ -140,6 +155,20 @@
--chart-3: var(--expense);
--chart-4: var(--warning);
--chart-5: oklch(0.7 0.07 230);
--swatch-blue: oklch(0.74 0.13 258);
--swatch-sky: oklch(0.74 0.13 230);
--swatch-teal: oklch(0.74 0.13 185);
--swatch-green: oklch(0.74 0.13 150);
--swatch-lime: oklch(0.74 0.13 125);
--swatch-amber: oklch(0.74 0.13 80);
--swatch-orange: oklch(0.74 0.13 55);
--swatch-red: oklch(0.74 0.13 25);
--swatch-rose: oklch(0.74 0.13 10);
--swatch-pink: oklch(0.74 0.13 350);
--swatch-purple: oklch(0.74 0.13 305);
--swatch-indigo: oklch(0.74 0.13 275);
--swatch-slate: oklch(0.72 0.03 255);
--sidebar: oklch(0.2 0.045 264);
--sidebar-foreground: oklch(0.96 0.01 250);
--sidebar-primary: oklch(0.76 0.12 245);