3.0 KiB
title, description, phase, status, last_updated
| title | description | phase | status | last_updated |
|---|---|---|---|---|
| Faz 7 Auth, Hata ve Erişilebilirlik Bütünlüğü | Auth öncesi locale seçimi, stabil hata kodları, edge ekranlar ve a11y metinleri çıktıları. | 7 | completed | 2026-07-19 |
Faz 7 Auth, Hata ve Erişilebilirlik Bütünlüğü
Faz-7, kullanıcı oturumu oluşmadan önce ve sistem edge ekranlarında görünen metinlerin locale modeliyle tutarlı çalışmasını tamamlar.
Tamamlananlar
- Login ekranı aktif instance dillerini listeleyen locale seçici ile açılır.
- Register ekranı aynı locale seçiciyi kullanır ve ilk admin kurulumu instance default locale/cookie davranışına bağlanır.
- Auth shell sol pazarlama alanı, feature etiketleri ve footer kopyası
authnamespace'inden beslenir. - Forgot/reset password ekranları eklendi ve katalog metinleriyle render edilir.
- 404 ekranı server catalog üzerinden
common.notFound.*anahtarlarını kullanır. - Error boundary için built-in TR/EN fallback eklendi.
- Maintenance copy sözleşmesi
common.maintenance.*anahtarlarıyla kataloglandı. - Login/signup server action redirect'leri raw mesaj yerine stabil
codeparametresine taşındı. - Portal invite error/success redirect'leri stabil auth code kullanır.
- Invite kabulünden sonra invitation locale'i cookie'ye yazılır; login ekranı aynı dilde açılır.
/api/i18n/localeresponse'u kullanıcı metni yerinemessageKeydöndürür.- Locale select kontrolünde label +
aria-labelkorunur. - Auth formlarındaki label, link ve pending metinleri katalogdan gelir.
- Interpolation ve plural davranışı built-in TR/EN katalogları için smoke test ile doğrulandı.
- RTL temel direction helper smoke testi eklendi.
Hata kodu sözleşmesi
Auth sayfaları query üzerinden aşağıdaki modeli kabul eder:
/login?error=true&code=auth.messages.invalidCredentials
/register?error=true&code=auth.messages.signupFailed
/login?code=auth.invite.success
Geriye dönük uyumluluk için eski message parametresi okunur; yeni server
action'lar raw mesaj üretmez.
Bildirim/e-posta locale sözleşmesi
İleride e-posta veya notification sistemi eklendiğinde locale önceliği şu sırayı izlemelidir:
- Client portal hesabı için
clients.portal_locale - Auth user preference için
user_preferences.language - Invite veya event üzerinde snapshot locale
- Instance default locale
- Built-in fallback
tr
Template key'leri UI kataloglarıyla aynı namespace mantığını kullanmalı, fakat
uzun mail içerikleri ayrı notification veya email namespace'ine taşınmalıdır.
RTL notu
directionForLocale("ar" | "fa" | "he" | "ur") temel RTL direction üretir.
Faz-7 smoke testi auth shell ve form katmanının direction bilgisini bozmadığını
doğrular. Tam görsel RTL polish için sonraki hardening fazında sayfa bazlı görsel
kontrol önerilir.
Verification
Çalıştırılan komutlar:
pnpm i18n:phase7-smoke
pnpm typecheck
pnpm build
git diff --check
Sonuçlar başarılı olduğunda Faz-7 tamamlanmış kabul edilir.