import Link from "next/link"; import { CalendarDays, Landmark, Wallet, Building2, Car, ShieldCheck, ArrowUpRight, Sparkles, type LucideIcon, } from "lucide-react"; import type { ComponentType, SVGProps } from "react"; import { TurkishFlag } from "@/components/TurkishFlag"; import { HomeStats } from "@/components/HomeStats"; import { useT } from "@/lib/i18n"; import { useAppSettings } from "@/lib/appSettings"; import type { TranslationKey } from "@/lib/translations/de"; type TileIcon = LucideIcon | ComponentType
>; type Tile = { href: string; labelKey: TranslationKey; descKey: TranslationKey; Icon: TileIcon; accent: string; }; const TILES: Tile[] = [ { href: "/kalender", labelKey: "home.calendar.title", descKey: "home.calendar.desc", Icon: CalendarDays, accent: "sky" }, { href: "/bank", labelKey: "home.bank.title", descKey: "home.bank.desc", Icon: Landmark, accent: "emerald" }, { href: "/finanzen", labelKey: "home.finance.title", descKey: "home.finance.desc", Icon: Wallet, accent: "amber" }, { href: "/haus", labelKey: "home.house.title", descKey: "home.house.desc", Icon: Building2, accent: "rose" }, { href: "/autopark", labelKey: "home.cars.title", descKey: "home.cars.desc", Icon: Car, accent: "indigo" }, { href: "/geheimnoten", labelKey: "home.secrets.title", descKey: "home.secrets.desc", Icon: ShieldCheck, accent: "violet" }, { href: "/edevlet", labelKey: "home.edevlet.title", descKey: "home.edevlet.desc", Icon: TurkishFlag, accent: "red" }, ]; const ACCENT_GLOW: Record
= { sky: "from-sky-300/40 to-blue-300/10 group-hover:from-sky-400/60", emerald: "from-emerald-300/40 to-teal-300/10 group-hover:from-emerald-400/60", amber: "from-amber-300/50 to-orange-300/10 group-hover:from-amber-400/70", rose: "from-rose-300/50 to-pink-300/10 group-hover:from-rose-400/70", indigo: "from-indigo-300/40 to-violet-300/10 group-hover:from-indigo-400/60", violet: "from-violet-300/40 to-fuchsia-300/10 group-hover:from-violet-400/60", red: "from-red-300/50 to-rose-300/10 group-hover:from-red-400/70", }; const ACCENT_ICON: Record
= { sky: "bg-gradient-to-br from-sky-400 to-blue-500 text-amber-50 shadow-sky-500/40", emerald: "bg-gradient-to-br from-emerald-400 to-teal-500 text-amber-50 shadow-emerald-500/40", amber: "bg-gradient-to-br from-amber-400 to-orange-500 text-amber-50 shadow-amber-500/40", rose: "bg-gradient-to-br from-rose-400 to-pink-500 text-amber-50 shadow-rose-500/40", indigo: "bg-gradient-to-br from-indigo-400 to-violet-500 text-amber-50 shadow-indigo-500/40", violet: "bg-gradient-to-br from-violet-500 to-fuchsia-500 text-amber-50 shadow-violet-500/40", red: "bg-gradient-to-br from-red-500 to-rose-500 text-amber-50 shadow-red-500/40", }; export default function HomePage() { const { t } = useT(); const { settings } = useAppSettings(); const name = settings.appName?.trim() || t("app.title"); return (
{/* HERO */}
{name}
{t("home.welcome")}
{t("app.subtitle")}
{/* LIVE-DASHBOARD */}
{/* MODULE */}
Module
{TILES.length} Bereiche
{TILES.map((tile) => { const Icon = tile.Icon; return (
{Icon === TurkishFlag ? (
) : (
)}
{t(tile.labelKey)}
{t(tile.descKey)}
); })}
); }