/** * Компонент для отображения ошибок пользователю */ 'use client'; interface ErrorDisplayProps { title?: string; message: string; type?: 'error' | 'warning' | 'info'; onRetry?: () => void; onClose?: () => void; showDetails?: boolean; details?: string; } export default function ErrorDisplay({ title, message, type = 'error', onRetry, onClose, showDetails = false, details, }: ErrorDisplayProps) { const colors = { error: { bg: '#ffebee', border: '#f44336', icon: '❌', title: title || 'Ошибка', }, warning: { bg: '#fff3e0', border: '#ff9800', icon: '⚠️', title: title || 'Предупреждение', }, info: { bg: '#e3f2fd', border: '#2196f3', icon: 'ℹ️', title: title || 'Информация', }, }; const style = colors[type]; return (
{onClose && ( )}
{style.icon}
{style.title}
{message}
{showDetails && details && (
Детали ошибки
            {details}
          
)} {onRetry && (
)}
); }