fix: stop blocking browser refresh

This commit is contained in:
2026-09-21 09:28:56 +08:00
parent 7934435475
commit 75658022df
2 changed files with 20 additions and 7 deletions
-6
View File
@@ -18,10 +18,6 @@ export function conflictError(error, fallback) {
export function useUnsavedChanges(dirty) {
useEffect(() => {
if (!dirty) return undefined
const beforeUnload = (event) => {
event.preventDefault()
event.returnValue = ""
}
const click = (event) => {
const anchor = event.target.closest?.("a[href]")
if (!anchor || !anchor.getAttribute("href")?.startsWith("#/")) return
@@ -29,10 +25,8 @@ export function useUnsavedChanges(dirty) {
event.preventDefault()
event.stopPropagation()
}
window.addEventListener("beforeunload", beforeUnload)
document.addEventListener("click", click, true)
return () => {
window.removeEventListener("beforeunload", beforeUnload)
document.removeEventListener("click", click, true)
}
}, [dirty])