"use client"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { cn } from "@/lib/utils"; import React, { useState } from "react"; import { Loading } from "./loading"; export type ConfirmProps = { title: string; description?: string; trigger: React.ReactNode; onConfirm: () => void | Promise; variant?: "alert"; disabled?: boolean; }; export const Confirm: React.FC = (props): JSX.Element => { const [isOpen, setIsOpen] = useState(false); const [loading, setLoading] = useState(false); const onConfirm = async () => { setLoading(true); await props.onConfirm(); setLoading(false); setIsOpen(false); }; return ( {props.trigger} {props.title} {props.description} ); }; export default Confirm;