diff --git a/src/App.tsx b/src/App.tsx index 07314a1..a98f9ab 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,4 @@ import { useState, useEffect, useCallback } from "react"; -import { getCurrentWindow } from "@tauri-apps/api/window"; import { AnimatePresence, motion } from "framer-motion"; import { springs, fadeSlideLeft, fadeSlideRight } from "@/lib/motion"; import { useAppStore } from "@/stores/app-store"; @@ -27,11 +26,12 @@ export default function App() { // Flush pending board saves before the app window closes useEffect(() => { - const unlisten = getCurrentWindow().onCloseRequested(async () => { + function handleBeforeUnload() { useBoardStore.getState().closeBoard(); - }); + } + window.addEventListener("beforeunload", handleBeforeUnload); return () => { - unlisten.then((fn) => fn()); + window.removeEventListener("beforeunload", handleBeforeUnload); }; }, []);