'use client'; import { useEffect, useState } from 'react'; export default function SearchError({ error, reset, }: { error: Error & { digest?: string }; reset: () => void; }) { const [retryCount, setRetryCount] = useState(0); const [autoRetrying, setAutoRetrying] = useState(false); useEffect(() => { console.error('Search error:', error); }, [error]); useEffect(() => { if (retryCount > 0) return; setAutoRetrying(true); const timer = setTimeout(() => { setAutoRetrying(false); setRetryCount((c) => c + 1); reset(); }, 3000); return () => clearTimeout(timer); }, [error, reset, retryCount]); const handleRetry = () => { setRetryCount((c) => c + 1); reset(); }; return (
{autoRetrying ? 'Đang tự động thử lại...' : 'Không thể thực hiện tìm kiếm. Vui lòng thử lại hoặc thay đổi bộ lọc.'}
{error.digest && (Mã lỗi: {error.digest}
)} {retryCount > 0 && (Đã thử lại {retryCount} lần
)}