c3ec91b2af
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
64 lines
2.0 KiB
TypeScript
64 lines
2.0 KiB
TypeScript
import {
|
||
CalendarDays,
|
||
ChartLine,
|
||
ClipboardCheck,
|
||
LayoutDashboard,
|
||
Menu,
|
||
NotebookPen,
|
||
PiggyBank,
|
||
Settings,
|
||
type LucideIcon,
|
||
} from 'lucide-react'
|
||
import { t } from '@/lib/strings'
|
||
|
||
export type NavItem = { to: string; label: string; icon: LucideIcon }
|
||
|
||
/** Sayfa adresleri tek yerde */
|
||
export const paths = {
|
||
dashboard: '/',
|
||
ledger: '/defter',
|
||
planning: '/plan',
|
||
/** İlk dönem sihirbazı; `?adim=1..5` */
|
||
periodWizard: '/plan/donem-ac',
|
||
savings: '/birikim',
|
||
/** Varlık ayrıntısı; adres için `assetPath(id)` */
|
||
asset: '/birikim/:id',
|
||
more: '/diger',
|
||
review: '/degerlendirme',
|
||
/** Dönem kapatma sihirbazı */
|
||
closePeriod: '/degerlendirme/kapat',
|
||
monthlyReport: '/degerlendirme/rapor',
|
||
reports: '/raporlar',
|
||
settings: '/ayarlar',
|
||
/** Banka / kart ekstresi içe aktarma */
|
||
statement: '/ayarlar/ekstre',
|
||
login: '/giris',
|
||
register: '/kayit',
|
||
} as const
|
||
|
||
/** Varlık ayrıntı sayfası adresi */
|
||
export const assetPath = (id: string) => `/birikim/${id}`
|
||
|
||
const dashboard: NavItem = { to: paths.dashboard, label: t.nav.dashboard, icon: LayoutDashboard }
|
||
const ledger: NavItem = { to: paths.ledger, label: t.nav.ledger, icon: NotebookPen }
|
||
const planning: NavItem = { to: paths.planning, label: t.nav.planning, icon: CalendarDays }
|
||
const savings: NavItem = { to: paths.savings, label: t.nav.savings, icon: PiggyBank }
|
||
const review: NavItem = { to: paths.review, label: t.nav.review, icon: ClipboardCheck }
|
||
const reports: NavItem = { to: paths.reports, label: t.nav.reports, icon: ChartLine }
|
||
const settings: NavItem = { to: paths.settings, label: t.nav.settings, icon: Settings }
|
||
|
||
/** Mobil alt menü: 5 öğe (KAKEIBO_PROMPT §9) */
|
||
export const bottomNav: NavItem[] = [
|
||
dashboard,
|
||
ledger,
|
||
planning,
|
||
savings,
|
||
{ to: paths.more, label: t.nav.more, icon: Menu },
|
||
]
|
||
|
||
/** "Diğer" altında toplananlar (mobil) */
|
||
export const moreNav: NavItem[] = [review, reports, settings]
|
||
|
||
/** Masaüstü sol menü: hepsi doğrudan */
|
||
export const sideNav: NavItem[] = [dashboard, ledger, planning, review, savings, reports, settings]
|