import { CircleAlertIcon } from 'lucide-react' import { Alert, AlertDescription, AlertTitle } from '@cfdm/ui/components/alert' import { Button } from '@cfdm/ui/components/button' import { Skeleton } from '@cfdm/ui/components/skeleton' interface QueryStateProps { isLoading?: boolean isError?: boolean error?: Error | null onRetry?: () => void skeleton?: React.ReactNode children: React.ReactNode } function DefaultSkeleton() { return (
) } export function QueryState({ isLoading, isError, error, onRetry, skeleton, children, }: QueryStateProps) { if (isLoading) { return skeleton ?? } if (isError) { return ( Не удалось загрузить данные {error?.message ?? 'Произошла ошибка при загрузке.'} {onRetry && ( )} ) } return children }