import Stack from "@mui/material/Stack"; import Typography from "@mui/material/Typography"; import { useTheme } from "@mui/material/styles"; import { Link as RouterLink } from "react-router-dom"; import { Button } from "@/Components/inputs"; import { LAYOUT } from "@/Utils/Theme/constants"; import { EmptyStateIllustration } from "./EmptyStateIllustration"; import type { ReactNode } from "react"; interface EmptyStateProps { title: string; description?: ReactNode; actionText?: string; actionTo?: string; onAction?: () => void; secondaryText?: string; secondaryHref?: string; compact?: boolean; fullscreen?: boolean; alert?: ReactNode; children?: ReactNode; } export const EmptyState = ({ title, description, actionText, actionTo, onAction, secondaryText, secondaryHref, compact = false, fullscreen = false, alert, children, }: EmptyStateProps) => { const theme = useTheme(); if (compact) { return ( {title} {description && ( {description} )} ); } return ( {title} {description && ( {description} )} {alert && ( {alert} )} {(actionText || secondaryText) && ( {actionText && (actionTo || onAction) && ( )} {secondaryText && secondaryHref && ( {secondaryText} → )} )} {children} ); };