kanban / src /components /shared /ThemeModal.tsx
Leon4gr45's picture
Deploy magic-resume as Docker Space (port 3000)
c30ea2a verified
Raw
History Blame Contribute Delete
1.63 kB
import { useTranslations } from "@/i18n/compat/client";
import {
AlertDialog,
AlertDialogAction,
AlertDialogCancel,
AlertDialogContent,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogHeader,
AlertDialogTitle,
} from "@/components/ui/alert-dialog";
interface ThemedAlertDialogProps {
isOpen: boolean;
onClose: () => void;
onConfirm: () => void;
title: string;
}
const ThemeModal = ({
isOpen,
onClose,
onConfirm,
title,
}: ThemedAlertDialogProps) => {
const t = useTranslations("themeModal.delete");
return (
<AlertDialog open={isOpen} onOpenChange={onClose}>
<AlertDialogContent onClick={(e) => e.stopPropagation()}>
<AlertDialogHeader>
<AlertDialogTitle>{t("title")}</AlertDialogTitle>
<AlertDialogDescription>
<span>
{t.raw("description").split("{title}")[0]}
<span className="px-1 font-semibold text-foreground">{title}</span>
{t.raw("description").split("{title}")[1]}
</span>
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel onClick={onClose}>{t("cancelText")}</AlertDialogCancel>
<AlertDialogAction
onClick={(e) => {
e.stopPropagation();
onConfirm();
}}
className="bg-red-600 hover:bg-red-700 text-white focus:ring-red-600 border-none"
>
{t("confirmText")}
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>
);
};
export default ThemeModal;