import ReactDOM from "react-dom"; export type ErrorModalHeadingVariant = "default" | "pipeline" | "maintenance" | "warning"; interface Props { open: boolean; message: string; variant?: ErrorModalHeadingVariant; showUpgrade?: boolean; onClose: () => void; } const PIPELINE_HEADING = "Oops 😢"; const MAINTENANCE_HEADING = "We're updating right now"; const WARNING_HEADING = "Oops 😢"; export default function ErrorModal({ open, message, variant = "default", showUpgrade, onClose, }: Props) { if (!open) return null; const isMaintenance = variant === "maintenance"; const isWarning = variant === "warning"; const isSoft = variant === "pipeline" || showUpgrade; const iconBgClass = isMaintenance ? "bg-blue-100" : isWarning || isSoft ? "bg-amber-100" : "bg-red-100"; const iconColorClass = isMaintenance ? "text-blue-600" : isWarning || isSoft ? "text-amber-700" : "text-red-600"; const heading = isMaintenance ? MAINTENANCE_HEADING : isWarning ? WARNING_HEADING : isSoft ? PIPELINE_HEADING : "Error"; return ReactDOM.createPortal(
{message}