import Stack from "@mui/material/Stack"; import Typography from "@mui/material/Typography"; import { BulletPointCheck, SkeletonCard } from "@/Components/design-elements"; import { Button } from "@/Components/inputs"; import { useNavigate } from "react-router"; import useMediaQuery from "@mui/material/useMediaQuery"; import { useTheme } from "@mui/material/styles"; import type { StackProps } from "@mui/material/Stack"; interface BaseFallbackProps extends StackProps { children: React.ReactNode; } export const BaseFallback = ({ children, ...props }: BaseFallbackProps) => { const theme = useTheme(); const isSmall = useMediaQuery(theme.breakpoints.down("md")); return ( {children} ); }; export const ErrorFallback = ({ title, subtitle, }: { title: string; subtitle: string; }) => { const theme = useTheme(); return ( {title} {subtitle} ); }; export const EmptyFallback = ({ title, bullets, actionButtonText, actionLink, }: { title: string; bullets: any; actionButtonText: string; actionLink: string; }) => { const theme = useTheme(); const navigate = useNavigate(); return ( {title} {Array.isArray(bullets) && bullets?.map((bullet: string) => ( ))} ); }; export const EmptyMonitorFallback = ({ page, title, bullets, actionButtonText, actionLink, }: { page: string; title: string; bullets: any; actionButtonText: string; actionLink: string; }) => { const theme = useTheme(); const navigate = useNavigate(); return ( {title} {Array.isArray(bullets) && bullets?.map((bullet: string, index: number) => ( ))} ); };