Proje: Okul B2B App · Hub: Okul B2B App — Conventions
Alert Notification ve Toast Kullanımı
AlertNotification Sınıfı
components/ui/AlertNotification.tsx — react-native-toast-message üstünde static helper:
import AlertNotification from '@/components/ui/AlertNotification';
AlertNotification.showSuccess('Başarılı', 'Fotoğraf yüklendi');
AlertNotification.showError('Hata', 'Yükleme başarısız');
AlertNotification.showInfo('Bilgi', 'İşlem devam ediyor');
AlertNotification.showWarning('Uyarı', 'Bağlantı yavaş');
AlertNotification.show({ type: 'success', title: '...', message: '...', duration: 4000 });Default topOffset: 180 — AppHeader yüksekliğinin altında gösterilir.
Direkt Toast Kullanımı
Bazı yerlerde AlertNotification yerine direkt Toast:
import Toast from 'react-native-toast-message';
Toast.show({ type: 'info', text1: 'Görsel Hazırlanıyor', autoHide: false });
Toast.hide(); // Manuel kapatmaautoHide: false — Sıkıştırma sırasında manuel kapatılır.
Toast Stilleri (_layout.tsx)
success → borderLeftColor: '#34C759' (yeşil)
error → borderLeftColor: '#FF3B30' (kırmızı)
info → borderLeftColor: '#007AFF' (mavi)
Border radius: 20, shadow ile rounded card görünüm.
ErrorBoundary
components/ErrorBoundary.tsx — React render hatalarını yakalar:
- Hatayı Crashlytics’e raporlar
- Fallback UI gösterir
- “Tekrar Dene” ile state reset eder
AuthenticatedApp → ErrorBoundary ile wrap edilmiştir.
Related
- error-handling-pattern — servis katmanı hata yönetimi
- crash-reporting-ve-loglama — Crashlytics entegrasyonu