From bdfee309a66de98ead9df11661934da2b4cdb902 Mon Sep 17 00:00:00 2001 From: Pi <90981829+ItsPi3141@users.noreply.github.com> Date: Sun, 8 Dec 2024 13:52:18 -0800 Subject: [PATCH] fix sessionStorage limit issue --- app/gif-extractor/page.jsx | 5 +++-- app/page.jsx | 3 ++- app/utils/dataHandler.js | 9 +++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 app/utils/dataHandler.js diff --git a/app/gif-extractor/page.jsx b/app/gif-extractor/page.jsx index 07735a8..3482d13 100644 --- a/app/gif-extractor/page.jsx +++ b/app/gif-extractor/page.jsx @@ -12,6 +12,7 @@ import Image from "../components/image.jsx"; import { printMsg } from "../print.js"; import { Icons } from "../components/icons.jsx"; +import { clearData, getData } from "../utils/dataHandler.js"; export default function GifExtractor() { const isServer = typeof window === "undefined"; @@ -47,9 +48,9 @@ export default function GifExtractor() { setLoaded(true); if (!isServer) { - const i = sessionStorage.getItem("image"); + const i = getData("image"); if (i) setFile(i); - sessionStorage.removeItem("image"); + clearData("image"); } }); diff --git a/app/page.jsx b/app/page.jsx index e6f1a04..3d66b86 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -20,6 +20,7 @@ import "react-tooltip/dist/react-tooltip.css"; import { Tooltip } from "react-tooltip"; import { Icons } from "./components/icons.jsx"; import { LoadingCircle, LoadingCubes } from "./components/spinner.jsx"; +import { storeData } from "./utils/dataHandler.js"; const decorationsData = require("../decorations.json"); const avatarsData = require("../avatars.json"); @@ -766,7 +767,7 @@ const App = ({ ffmpegRef, isServer }) => { onClick={() => { if (!isServer) { try { - sessionStorage.setItem("image", finishedAv); + storeData("image", finishedAv); router.push("/gif-extractor"); } catch { setFileTooBig(true); diff --git a/app/utils/dataHandler.js b/app/utils/dataHandler.js new file mode 100644 index 0000000..bff1e0d --- /dev/null +++ b/app/utils/dataHandler.js @@ -0,0 +1,9 @@ +const tempStorage = {}; + +export const storeData = (key, data) => { + tempStorage[key] = data; +}; +export const clearData = (key) => { + delete tempStorage[key]; +}; +export const getData = (key) => tempStorage[key];