"use client" import { useEffect } from "react" /** * Adds a beforeunload warning when the form has unsaved changes. * Pass `isDirty` — set to true as soon as any field changes. */ export function useWarnUnsaved(isDirty: boolean) { useEffect(() => { if (!isDirty) return function handler(e: BeforeUnloadEvent) { e.preventDefault() } window.addEventListener("beforeunload", handler) return () => window.removeEventListener("beforeunload", handler) }, [isDirty]) }