summaryrefslogtreecommitdiff
path: root/apps/web/src/components
diff options
context:
space:
mode:
authorenkeii64 <imenkei64@gmail.com>2025-07-17 20:54:31 +1000
committerenkeii64 <imenkei64@gmail.com>2025-07-17 20:54:31 +1000
commit8efc696dcddc94b1c248a099207ad97c932a545b (patch)
tree2f70dff4238e6c39f0fbfafc4fe8ad32d6350148 /apps/web/src/components
parent7d4cbca1190edc12ff9ae17029613b77b08436e0 (diff)
downloadopencut-8efc696dcddc94b1c248a099207ad97c932a545b.tar.gz
feat: update delete project dialog
Diffstat (limited to 'apps/web/src/components')
-rw-r--r--apps/web/src/components/delete-project-dialog.tsx121
1 files changed, 68 insertions, 53 deletions
diff --git a/apps/web/src/components/delete-project-dialog.tsx b/apps/web/src/components/delete-project-dialog.tsx
index db709647..e2b32dda 100644
--- a/apps/web/src/components/delete-project-dialog.tsx
+++ b/apps/web/src/components/delete-project-dialog.tsx
@@ -1,53 +1,68 @@
-import { Button } from "@/components/ui/button";
-import {
- Dialog,
- DialogContent,
- DialogDescription,
- DialogFooter,
- DialogHeader,
- DialogTitle,
-} from "@/components/ui/dialog";
-
-export function DeleteProjectDialog({
- isOpen,
- onOpenChange,
- onConfirm,
-}: {
- isOpen: boolean;
- onOpenChange: (open: boolean) => void;
- onConfirm: () => void;
-}) {
- return (
- <Dialog open={isOpen} onOpenChange={onOpenChange}>
- <DialogContent
- onOpenAutoFocus={(e) => {
- e.preventDefault();
- e.stopPropagation();
- }}
- >
- <DialogHeader>
- <DialogTitle>Delete Project</DialogTitle>
- <DialogDescription>
- Are you sure you want to delete this project? This action cannot be
- undone.
- </DialogDescription>
- </DialogHeader>
- <DialogFooter>
- <Button
- variant="outline"
- onClick={(e) => {
- e.preventDefault();
- e.stopPropagation();
- onOpenChange(false);
- }}
- >
- Cancel
- </Button>
- <Button variant="destructive" onClick={onConfirm}>
- Delete
- </Button>
- </DialogFooter>
- </DialogContent>
- </Dialog>
- );
-}
+import { Button } from "@/components/ui/button";
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+} from "@/components/ui/dialog";
+import { cn } from "@/lib/utils";
+
+export function DeleteProjectDialog({
+ isOpen,
+ onOpenChange,
+ onConfirm,
+ projectName,
+}: {
+ isOpen: boolean;
+ onOpenChange: (open: boolean) => void;
+ onConfirm: () => void;
+ projectName?: string;
+}) {
+ return (
+ <Dialog open={isOpen} onOpenChange={onOpenChange}>
+ <DialogContent
+ onOpenAutoFocus={(e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ }}
+ >
+ <DialogHeader>
+ <DialogTitle>
+ {projectName ? (
+ <>
+ {"Delete '"}
+ <span className="inline-block max-w-[300px] truncate align-bottom">
+ {projectName}
+ </span>
+ {"'?"}
+ </>
+ ) : (
+ "Delete Project?"
+ )}
+ </DialogTitle>
+ <DialogDescription>
+ Are you sure you want to delete this project? This action cannot be
+ undone.
+ </DialogDescription>
+ </DialogHeader>
+ <DialogFooter>
+ <Button
+ variant="outline"
+ onClick={(e) => {
+ e.preventDefault();
+ e.stopPropagation();
+ onOpenChange(false);
+ }}
+ >
+ Cancel
+ </Button>
+ <Button variant="destructive" onClick={onConfirm}>
+ Delete
+ </Button>
+ </DialogFooter>
+ </DialogContent>
+ </Dialog>
+ );
+}