"use client"; import { useEffect } from "react"; import { ReactFlowProvider } from "@xyflow/react"; import { Header } from "@/components/Header"; import { WorkflowCanvas } from "@/components/WorkflowCanvas"; import { FloatingActionBar } from "@/components/FloatingActionBar"; import { AnnotationModal } from "@/components/AnnotationModal"; import { useWorkflowStore } from "@/store/workflowStore"; export default function Home() { const initializeAutoSave = useWorkflowStore( (state) => state.initializeAutoSave ); const cleanupAutoSave = useWorkflowStore((state) => state.cleanupAutoSave); useEffect(() => { initializeAutoSave(); return () => cleanupAutoSave(); }, [initializeAutoSave, cleanupAutoSave]); useEffect(() => { const handleBeforeUnload = (e: BeforeUnloadEvent) => { if (useWorkflowStore.getState().hasUnsavedChanges) { e.preventDefault(); } }; window.addEventListener("beforeunload", handleBeforeUnload); return () => window.removeEventListener("beforeunload", handleBeforeUnload); }, []); return (
); }