diff options
Diffstat (limited to 'apps/web/src/hooks/use-storage-persistence.ts')
| -rw-r--r-- | apps/web/src/hooks/use-storage-persistence.ts | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/apps/web/src/hooks/use-storage-persistence.ts b/apps/web/src/hooks/use-storage-persistence.ts deleted file mode 100644 index a026b510..00000000 --- a/apps/web/src/hooks/use-storage-persistence.ts +++ /dev/null @@ -1,45 +0,0 @@ -"use client";
-
-import { useEffect, useState } from "react";
-
-const DISMISSED_KEY = "opencut-storage-persist-dismissed";
-
-function isFirefox(): boolean {
- return navigator.userAgent.toLowerCase().includes("firefox");
-}
-
-export function useStoragePersistence() {
- const [showDialog, setShowDialog] = useState(false);
-
- useEffect(() => {
- if (!navigator.storage?.persist) return;
-
- const run = async () => {
- const alreadyPersisted = await navigator.storage.persisted();
- if (alreadyPersisted) return;
-
- const dismissed = localStorage.getItem(DISMISSED_KEY) === "true";
- if (dismissed) return;
-
- if (isFirefox()) {
- setShowDialog(true);
- } else {
- await navigator.storage.persist();
- }
- };
-
- run();
- }, []);
-
- const onConfirm = async () => {
- setShowDialog(false);
- await navigator.storage.persist();
- };
-
- const onDismiss = () => {
- setShowDialog(false);
- localStorage.setItem(DISMISSED_KEY, "true");
- };
-
- return { showDialog, onConfirm, onDismiss };
-}
|
