"use client";
import { useState } from "react";
import { Button } from "@/components/ui/button";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
export const title = "Delete Confirmation";
const Example = () => {
const [confirmText, setConfirmText] = useState("");
const requiredText = "delete my account";
return (
<Dialog>
<DialogTrigger asChild>
<Button variant="destructive">Delete Account</Button>
</DialogTrigger>
<DialogContent className="sm:max-w-md">
<DialogHeader>
<DialogTitle>Delete Account</DialogTitle>
<DialogDescription>
This action cannot be undone. This will permanently delete your
account and remove your data from our servers.
</DialogDescription>
</DialogHeader>
<div className="space-y-2">
<Label htmlFor="confirm">
Type <span className="font-mono font-semibold">{requiredText}</span>{" "}
to confirm
</Label>
<Input
id="confirm"
onChange={(e) => setConfirmText(e.target.value)}
placeholder={requiredText}
value={confirmText}
/>
</div>
<DialogFooter>
<Button type="button" variant="outline">
Cancel
</Button>
<Button
disabled={confirmText !== requiredText}
type="button"
variant="destructive"
>
Delete Account
</Button>
</DialogFooter>
</DialogContent>
</Dialog>
);
};
export default Example;