feat(weapons) : add conditions and unsaved changes warning
CI / Verify (push) Failing after 42s
CI / Build immutable images and deploy (push) Has been skipped

This commit is contained in:
2026-09-04 00:33:03 +07:00 Unverified
parent a4cc93c7f6
commit c9e0fe02e3
14 changed files with 201 additions and 56 deletions
+17
View File
@@ -134,6 +134,23 @@ export function useAutosave<Value, Draft = Value>({
else if (fingerprint !== savedFingerprint) state = "unsaved";
else state = "saved";
useEffect(() => {
const browserWindow = window as Window & { __guideHasUnsavedChanges?: boolean };
browserWindow.__guideHasUnsavedChanges = state !== "saved";
if (state === "saved") return () => {
browserWindow.__guideHasUnsavedChanges = false;
};
const warnBeforeLeaving = (event: BeforeUnloadEvent) => {
event.preventDefault();
event.returnValue = "";
};
window.addEventListener("beforeunload", warnBeforeLeaving);
return () => {
window.removeEventListener("beforeunload", warnBeforeLeaving);
browserWindow.__guideHasUnsavedChanges = false;
};
}, [state]);
return {
state,
saveNow: () => {