diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-06-30 19:58:36 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-06-30 19:58:36 +0200 |
| commit | 09373eb4a3f792d96d97d81f4fb86539d76e5702 (patch) | |
| tree | add2d5eee3b5922e0291f905ab77eb48f244596a /apps/web/src/components/delete-project-dialog.tsx | |
| parent | cd30c205b4019fb38371ced956abe55b47054433 (diff) | |
| download | opencut-09373eb4a3f792d96d97d81f4fb86539d76e5702.tar.gz | |
feat: implement project management features with storage integration, including project creation, deletion, and renaming dialogs
Diffstat (limited to 'apps/web/src/components/delete-project-dialog.tsx')
| -rw-r--r-- | apps/web/src/components/delete-project-dialog.tsx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/apps/web/src/components/delete-project-dialog.tsx b/apps/web/src/components/delete-project-dialog.tsx new file mode 100644 index 00000000..db709647 --- /dev/null +++ b/apps/web/src/components/delete-project-dialog.tsx @@ -0,0 +1,53 @@ +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>
+ );
+}
|
