From 20d38d03d65d0c94772aaaeba23c6fda6606aa9f Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Thu, 6 Nov 2025 22:29:43 +1300 Subject: [PATCH] Rename New Page save function to trySave for better Edit Page compatibility --- client/homebrew/pages/newPage/newPage.jsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/client/homebrew/pages/newPage/newPage.jsx b/client/homebrew/pages/newPage/newPage.jsx index dccf7deb7..a8a7306e4 100644 --- a/client/homebrew/pages/newPage/newPage.jsx +++ b/client/homebrew/pages/newPage/newPage.jsx @@ -56,6 +56,10 @@ const NewPage = (props)=>{ const editorRef = useRef(null); const lastSavedBrew = useRef(_.cloneDeep(props.brew)); + // const saveTimeout = useRef(null); + // const warnUnsavedTimeout = useRef(null); + const trySaveRef = useRef(trySave); // CTRL+S listener lives outside React and needs ref to use trySave with latest copy of brew + const unsavedChangesRef = useRef(unsavedChanges); // Similarly, onBeforeUnload lives outside React and needs ref to unsavedChanges useEffect(()=>{ loadBrew(); @@ -114,6 +118,11 @@ const NewPage = (props)=>{ if(autoSaveEnabled) trySave(false, hasChange); }, [currentBrew]); + useEffect(()=>{ + trySaveRef.current = trySave; + unsavedChangesRef.current = unsavedChanges; + }); + const handleSplitMove = ()=>{ editorRef.current.update(); }; @@ -141,7 +150,7 @@ const NewPage = (props)=>{ } }; - const save = async ()=>{ + const trySave = async ()=>{ setIsSaving(true); const updatedBrew = { ...currentBrew }; @@ -190,7 +199,7 @@ const NewPage = (props)=>{ // #3 - Unsaved changes exist, click to save, show SAVE NOW if(unsavedChanges) - return save now; + return save now; // #4 - No unsaved changes, autosave is ON, show AUTO-SAVED if(autoSaveEnabled)