feat(değerlendirme): geçmiş dönemler ve düzeltme için yeniden açma

- Defter, Plan ve Değerlendirme'de dönem seçici (?donem=)
- Kapalı dönem salt okunur; düzeltmedeki dönem düzenlenebilir ve yeniden kapatılır
- Hane sahibi için onaylı "Düzeltme için yeniden aç"
- Geçmiş dönemler listesi, dönem durum rozeti

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-12 23:11:04 +03:00
parent 2c16cf4163
commit 861bfba85a
16 changed files with 500 additions and 127 deletions
@@ -0,0 +1,30 @@
import type { ReactNode } from 'react'
import { PageError, PageLoading } from '@/components/page'
import { NoPeriodCard } from '@/features/period-wizard/no-period-card'
import { useSelectedPeriod } from '@/lib/period-select'
import { t } from '@/lib/strings'
import type { Period } from '@/types/Period'
/**
* Seçili dönemi (`?donem=` ya da açık dönem) yükler; yükleniyor / hata / bulunamadı /
* dönem yok durumlarını tek yerde gösterir. Dönem varsa `children(dönem, tüm dönemler)`.
*/
export function SelectedPeriod({
empty = <NoPeriodCard />,
children,
}: {
empty?: ReactNode
children: (period: Period, periods: Period[]) => ReactNode
}) {
const sel = useSelectedPeriod()
if (sel.error) return <PageError message={sel.error.message} onRetry={sel.refetch} />
if (sel.isPending) return <PageLoading />
if (sel.period === undefined)
return (
<p role="alert" className="rounded-xl bg-muted p-4 text-muted-foreground">
{t.periods.notFound}
</p>
)
if (sel.period === null) return empty
return children(sel.period, sel.periods)
}