Files

3.0 KiB
Raw Permalink Blame History

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ı auth namespace'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 code parametresine 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/locale response'u kullanıcı metni yerine messageKey döndürür.
  • Locale select kontrolünde label + aria-label korunur.
  • 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:

  1. Client portal hesabı için clients.portal_locale
  2. Auth user preference için user_preferences.language
  3. Invite veya event üzerinde snapshot locale
  4. Instance default locale
  5. 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.