import { Box } from '@/ui/Box'; import { Button } from '@/ui/Button'; import { Heading } from '@/ui/Heading'; import { Link } from '@/ui/Link'; import { EmptyStateProps } from '@/ui/state-types'; import { Text } from '@/ui/Text'; import React from 'react'; // Illustration components (simple SVG representations) const Illustrations = { racing: () => ( ), league: () => ( ), team: () => ( ), sponsor: () => ( ), driver: () => ( ), } as const; export function EmptyState({ icon: Icon, title, description, action, variant = 'default', illustration, ariaLabel = 'Empty state', children, }: EmptyStateProps & { children?: React.ReactNode }) { const IllustrationComponent = illustration ? Illustrations[illustration] : null; const content = ( {IllustrationComponent ? ( ) : Icon ? ( ) : null} {title} {description && ( {description} )} {action && ( )} {children && ( {children} )} ); if (variant === 'full-page') { return ( {content} Need help? Contact us at{' '} support@gridpilot.com ); } return ( {content} ); } export function MinimalEmptyState(props: Omit) { return ; }