diff options
| author | enkeii64 <imenkei64@gmail.com> | 2025-07-17 20:54:31 +1000 |
|---|---|---|
| committer | enkeii64 <imenkei64@gmail.com> | 2025-07-17 20:54:31 +1000 |
| commit | 8efc696dcddc94b1c248a099207ad97c932a545b (patch) | |
| tree | 2f70dff4238e6c39f0fbfafc4fe8ad32d6350148 /apps/web/src | |
| parent | 7d4cbca1190edc12ff9ae17029613b77b08436e0 (diff) | |
| download | opencut-8efc696dcddc94b1c248a099207ad97c932a545b.tar.gz | |
feat: update delete project dialog
Diffstat (limited to 'apps/web/src')
| -rw-r--r-- | apps/web/src/app/projects/page.tsx | 1 | ||||
| -rw-r--r-- | apps/web/src/components/delete-project-dialog.tsx | 121 |
2 files changed, 69 insertions, 53 deletions
diff --git a/apps/web/src/app/projects/page.tsx b/apps/web/src/app/projects/page.tsx index 499b999a..a2402141 100644 --- a/apps/web/src/app/projects/page.tsx +++ b/apps/web/src/app/projects/page.tsx @@ -508,6 +508,7 @@ function ProjectCard({ isOpen={isDeleteDialogOpen} onOpenChange={setIsDeleteDialogOpen} onConfirm={handleDeleteProject} + projectName={project.name} /> <RenameProjectDialog isOpen={isRenameDialogOpen} 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> + ); +} |
