Proje: Okul B2B App · Hub: Okul B2B App — Conventions

Alert Notification ve Toast Kullanımı

AlertNotification Sınıfı

components/ui/AlertNotification.tsxreact-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 kapatma

autoHide: 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

AuthenticatedAppErrorBoundary ile wrap edilmiştir.