import { Fragment, useEffect, useState } from "react"; import { Dialog, DialogBackdrop, DialogPanel, DialogTitle, Transition, TransitionChild } from "@headlessui/react"; import clsx from "clsx"; import { useTranslation } from "react-i18next"; import { AlertTriangleIcon } from "~/components/ui/icons/vendor"; interface Props { title: string; description: string; closeText?: string; open: boolean; onClose: () => void; className?: string; } export default function OpenErrorModal({ title, description, closeText, open, onClose, className }: Props) { const { t } = useTranslation(); const [data, setData] = useState<{ title: string; description: string; closeText?: string }>(); useEffect(() => { if (title && description) { setData({ title, description, closeText }); } }, [title, description, closeText]); return (
{/* This element is to trick the browser into centering the modal contents. */} {/* Subframe ResultDialog layout: flex-col items-center gap-6, rounded-lg, px-6 py-8, icon badge h-14 w-14 rounded-round, content gap-2, full-width button. */}
{data?.title}

{data?.description}

); }