Proje: Okul B2B App · Hub: Okul B2B App — Conventions
useErrorHandler Hook
hooks/useErrorHandler.ts — Hata gösterimi ve retry yönetimi hook’u.
Return
{
errorState: { isVisible, errorMessage, onRetry },
showError: (error, onRetry?) => void, // Error → lokalize mesaj → göster
showCustomError: (title, message, opts?) => void, // Özel mesaj
hideError: () => void,
handleRetry: () => void, // onRetry callback'i çağırır
showAlert: (error, onRetry?) => void // Native Alert ile göster
}showError Pattern
const { showError } = useErrorHandler();
try {
await apiCall();
} catch (error) {
showError(error as Error, () => retryApiCall());
}getErrorMessage(error) ile UserErrorMessage nesnesi oluşturulur. Toast veya AlertModal ile gösterilir.
ErrorModal
components/ui/ErrorModal.tsx — useErrorHandler state’ini dinleyip modal gösterer. isRetryable: true → “Tekrar Dene” butonu.
Related
- error-handling-pattern — servis seviyesi hata pattern
- hata-mesaji-yonetimi — Türkçe mesaj map’leri
- async-operation-pattern — useAsyncOperation içinde kullanılır