diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-25 16:47:22 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-29 15:48:22 +0200 |
| commit | 8db3bead13441a5882d8689dfc6a9f09c82375d9 (patch) | |
| tree | e9d0cafa93904ffcbec3188c37961bcc16c6422d /apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx | |
| parent | 39ea298a9ccba3104c549c0ca079c231981811f5 (diff) | |
| download | opencut-8db3bead13441a5882d8689dfc6a9f09c82375d9.tar.gz | |
feat: masks, properties refactor, shaders, storage migrations, and more
Diffstat (limited to 'apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx')
| -rw-r--r-- | apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx b/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx new file mode 100644 index 00000000..d391928c --- /dev/null +++ b/apps/web/src/components/editor/dialogs/storage-persistence-dialog.tsx @@ -0,0 +1,41 @@ +"use client"; + +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogBody, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { useStoragePersistence } from "@/hooks/use-storage-persistence"; + +export function StoragePersistenceDialog() { + const { showDialog, onConfirm, onDismiss } = useStoragePersistence(); + + return ( + <Dialog open={showDialog} onOpenChange={(open) => !open && onDismiss()}> + <DialogContent className="sm:max-w-md"> + <DialogHeader> + <DialogTitle>Don't lose your projects</DialogTitle> + </DialogHeader> + <DialogBody> + <p className="text-base text-muted-foreground"> + Your browser can automatically delete your projects when storage + runs low. + </p> + <p className="text-base text-muted-foreground"> + Allow OpenCut to protect them? + </p> + </DialogBody> + <DialogFooter> + <Button variant="outline" onClick={onDismiss}> + Not now + </Button> + <Button onClick={onConfirm}>Allow</Button> + </DialogFooter> + </DialogContent> + </Dialog> + ); +} |
