feat(değerlendirme): ay sonu değerlendirmesi sayfası

- Kakeibo'nun 4 sorusu, nasıl hesaplandığıyla birlikte
- Grup bazında planlanan/gerçekleşen, en çok harcanan kategoriler, haftalık dağılım
- "Nasıl daha iyi yapabilirim?" (Markdown) ve yalnızca başlıkları listelenen notlar

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-12 12:31:35 +03:00
parent 62e92f552a
commit 311cfc8c60
16 changed files with 627 additions and 56 deletions
+12
View File
@@ -0,0 +1,12 @@
import { z } from 'zod'
import { t } from '@/lib/strings'
/** Backend gibi Unicode karakter sayar (`services/period.rs` → `MAX_REFLECTION`) */
export const MAX_REFLECTION = 20_000
export const reflectionSchema = z.object({
text: z
.string()
.refine((v) => [...v.trim()].length <= MAX_REFLECTION, t.review.reflectionTooLong),
})
export type ReflectionForm = z.infer<typeof reflectionSchema>