Proje: OkulUp · Hub: OkulUp — Domain

Login Ekranı Akışı

useLoginScreen Hook

Biyometrik Otomatik Login

Uygulama açılınca:

  1. isBiometricAvailable() → hardware + enrolled kontrolü
  2. Token var ve biyometrik aktifse → Face ID göster
  3. Başarılı → uygulamaya gir

Login Sonrası Routing

const navigateHome = () =>
  router.replace(hasConsent ? '/(tabs)/home' : '/(auth)/consent');

KVKK onayı yoksa önce consent ekranına yönlendir.

Remember Me

Login başarılıysa:

  • REMEMBER_ME_KEY AsyncStorage’da true ise → REMEMBERED_EMAIL_KEY’e email kaydet
  • Yoksa → her ikisini de temizle

Biyometrik Aktifleştirme Prompt

İlk login’de biyometrik var ama henüz aktif değilse: → Alert: “Yüz/Parmak izi ile giriş yapmak ister misiniz?” → Kabul: setBiometricEnabled(true) → sonraki açılışta otomatik giriş

Kullanıcı Preferences Servisi

Preferences preferences.ts servisi offline-first çalışıyor:

  1. getUserPreferences() → önce API, hata olursa AsyncStorage, hep default
  2. updateUserPreferences(patch) → önce local yaz, sonra API sync
  3. source: 'api' | 'local' | 'default' — nereden geldiğini bildirir

Notifications ve privacy tercihlerini yönetiyor.