Files
HabitTrove/components/ConfirmDialog.tsx
2024-12-30 13:57:28 -05:00

50 lines
1.0 KiB
TypeScript

import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogFooter,
} from '@/components/ui/dialog'
import { Button } from '@/components/ui/button'
interface ConfirmDialogProps {
isOpen: boolean
onClose: () => void
onConfirm: () => void
title: string
message: string
confirmText?: string
cancelText?: string
}
export default function ConfirmDialog({
isOpen,
onClose,
onConfirm,
title,
message,
confirmText = "Confirm",
cancelText = "Cancel"
}: ConfirmDialogProps) {
return (
<Dialog open={isOpen} onOpenChange={onClose}>
<DialogContent>
<DialogHeader>
<DialogTitle>{title}</DialogTitle>
</DialogHeader>
<div className="py-4">
<p>{message}</p>
</div>
<DialogFooter>
<Button variant="outline" onClick={onClose}>
{cancelText}
</Button>
<Button variant="destructive" onClick={onConfirm}>
{confirmText}
</Button>
</DialogFooter>
</DialogContent>
</Dialog>
)
}