c6d4c30461
- react-router: Türkçe adresler (/defter, /plan, /birikim, ...), 404 sayfası - Korumalı sayfalar: oturum yoksa /giris?donus=..., girişten sonra geri dönüş - Açık yönlendirme koruması (safeReturnPath, 10 test) - İskelet: mobilde 5 öğeli alt menü, masaüstünde sol kenar çubuğu - Diğer sayfası (değerlendirme, raporlar, ayarlar, tema, çıkış) - Arayüz metinleri lib/strings.ts'de toplanmaya başlandı - Tasarım önizlemesi /dev/tasarim (yalnızca geliştirmede) - Düzeltme: çıkışta önbellek temizliği ekranı güncellemiyordu Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { ChevronRight } from 'lucide-react'
|
|
import { Link } from 'react-router'
|
|
import { AccountSummary, LogoutButton } from '@/components/layout/app-layout'
|
|
import { moreNav } from '@/components/layout/nav-items'
|
|
import { PageHeader } from '@/components/page'
|
|
import { ThemeToggle } from '@/components/theme-toggle'
|
|
import { t } from '@/lib/strings'
|
|
|
|
/** Mobil "☰ Diğer": alt menüye sığmayan sayfalar, tema ve hesap. */
|
|
export function MorePage() {
|
|
return (
|
|
<>
|
|
<PageHeader title={t.pages.more.title} />
|
|
|
|
<nav className="divide-y overflow-hidden rounded-xl border bg-card">
|
|
{moreNav.map(({ to, label, icon: Icon }) => (
|
|
<Link
|
|
key={to}
|
|
to={to}
|
|
className="flex min-h-14 items-center gap-3 px-4 transition-colors hover:bg-muted"
|
|
>
|
|
<Icon className="size-5 text-muted-foreground" aria-hidden />
|
|
<span className="flex-1 font-medium">{label}</span>
|
|
<ChevronRight className="size-4 text-muted-foreground" aria-hidden />
|
|
</Link>
|
|
))}
|
|
</nav>
|
|
|
|
<section className="mt-6 space-y-3">
|
|
<h2 className="text-sm font-medium text-muted-foreground">{t.account.theme}</h2>
|
|
<ThemeToggle className="w-full [&>button]:flex-1" />
|
|
</section>
|
|
|
|
<section className="mt-6 flex items-center justify-between gap-3 rounded-xl border bg-card p-4">
|
|
<AccountSummary />
|
|
<LogoutButton />
|
|
</section>
|
|
</>
|
|
)
|
|
}
|