Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Architecture
CRM Hata Yönetimi
Katmanlar
ErrorBoundary— React render hatalarını yakalarErrorProvider(ErrorContext) — uygulama genelinde hata gösterim API’sierrorLogger— API hatalarını loglartoast(sonner) — kullanıcıya hata gösterimi
ErrorContext
const { showError, showWarning, showInfo, handleApiError, logError } = useErrorContext();showError→toast.error()(5000ms)showWarning→toast.warning()(4000ms)showInfo→toast.info()handleApiError→ API hata nesnesinden mesaj çıkarıp toast gösterirlogError→ console.error + opsiyonel backend log
AuthGuard Auth Kontrolü
100ms delay ile token cookie’yi kontrol eder:
- Geçerli token (
auth_token) yoksa →/login(from: mevcut path state’e kaydedilir) - Login sayfasındayken token gelirse →
state.fromveya/dashboard’a yönlendirir
Not: state.from ile login sonrası orijinal sayfaya yönlendirme var.
Toaster Konfigürasyonu
<Toaster position="top-right" richColors={true} />errorLogger Kullanımı
import { getErrorMessage } from '@/utils/errorLogger';
// toast.error(getErrorMessage(error));Yaygın pattern: try/catch’te getErrorMessage(error) ile toast göster.
Related
- api-katmani — API interceptor’daki 401/403 handling
- auth-akisi — AuthGuard ve token yönetimi