diff --git a/app/[lang]/page.tsx b/app/[lang]/page.tsx index 2a6049f..9d1e95a 100644 --- a/app/[lang]/page.tsx +++ b/app/[lang]/page.tsx @@ -4,7 +4,6 @@ import { Suspense, useCallback, useEffect, useRef, useState } from "react" import { DrawIoEmbed } from "react-drawio" import type { ImperativePanelHandle } from "react-resizable-panels" import ChatPanel from "@/components/chat-panel" -import { STORAGE_CLOSE_PROTECTION_KEY } from "@/components/settings-dialog" import { ResizableHandle, ResizablePanel, @@ -29,7 +28,6 @@ export default function Home() { const [darkMode, setDarkMode] = useState(false) const [isLoaded, setIsLoaded] = useState(false) const [isDrawioReady, setIsDrawioReady] = useState(false) - const [closeProtection, setCloseProtection] = useState(false) const chatPanelRef = useRef(null) const isMobileRef = useRef(false) @@ -66,13 +64,6 @@ export default function Home() { document.documentElement.classList.toggle("dark", prefersDark) } - const savedCloseProtection = localStorage.getItem( - STORAGE_CLOSE_PROTECTION_KEY, - ) - if (savedCloseProtection === "true") { - setCloseProtection(true) - } - setIsLoaded(true) }, [pathname, router]) @@ -146,20 +137,6 @@ export default function Home() { return () => window.removeEventListener("keydown", handleKeyDown) }, []) - // Show confirmation dialog when user tries to leave the page - useEffect(() => { - if (!closeProtection) return - - const handleBeforeUnload = (event: BeforeUnloadEvent) => { - event.preventDefault() - return "" - } - - window.addEventListener("beforeunload", handleBeforeUnload) - return () => - window.removeEventListener("beforeunload", handleBeforeUnload) - }, [closeProtection]) - return (
diff --git a/components/chat-panel.tsx b/components/chat-panel.tsx index 0dda333..40f4edb 100644 --- a/components/chat-panel.tsx +++ b/components/chat-panel.tsx @@ -70,7 +70,6 @@ interface ChatPanelProps { darkMode: boolean onToggleDarkMode: () => void isMobile?: boolean - onCloseProtectionChange?: (enabled: boolean) => void } // Constants for tool states @@ -111,7 +110,6 @@ export default function ChatPanel({ darkMode, onToggleDarkMode, isMobile = false, - onCloseProtectionChange, }: ChatPanelProps) { const { loadDiagram: onDisplayChart, @@ -1296,7 +1294,6 @@ export default function ChatPanel({ = { interface SettingsDialogProps { open: boolean onOpenChange: (open: boolean) => void - onCloseProtectionChange?: (enabled: boolean) => void drawioUi: "min" | "sketch" onToggleDrawioUi: () => void darkMode: boolean @@ -71,7 +70,6 @@ interface SettingsDialogProps { } export const STORAGE_ACCESS_CODE_KEY = "next-ai-draw-io-access-code" -export const STORAGE_CLOSE_PROTECTION_KEY = "next-ai-draw-io-close-protection" const STORAGE_ACCESS_CODE_REQUIRED_KEY = "next-ai-draw-io-access-code-required" function getStoredAccessCodeRequired(): boolean | null { @@ -84,7 +82,6 @@ function getStoredAccessCodeRequired(): boolean | null { function SettingsContent({ open, onOpenChange, - onCloseProtectionChange, drawioUi, onToggleDrawioUi, darkMode, @@ -97,7 +94,6 @@ function SettingsContent({ const pathname = usePathname() || "/" const search = useSearchParams() const [accessCode, setAccessCode] = useState("") - const [closeProtection, setCloseProtection] = useState(true) const [isVerifying, setIsVerifying] = useState(false) const [error, setError] = useState("") const [accessCodeRequired, setAccessCodeRequired] = useState( @@ -151,12 +147,6 @@ function SettingsContent({ localStorage.getItem(STORAGE_ACCESS_CODE_KEY) || "" setAccessCode(storedCode) - const storedCloseProtection = localStorage.getItem( - STORAGE_CLOSE_PROTECTION_KEY, - ) - // Default to true if not set - setCloseProtection(storedCloseProtection !== "false") - const storedSendShortcut = localStorage.getItem( STORAGE_KEYS.sendShortcut, ) @@ -394,25 +384,6 @@ function SettingsContent({ - {/* Close Protection */} - - { - setCloseProtection(checked) - localStorage.setItem( - STORAGE_CLOSE_PROTECTION_KEY, - checked.toString(), - ) - onCloseProtectionChange?.(checked) - }} - /> - - {/* Diagram Style */}