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:
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user