Move currentBrew/lastSavedBrew update after saving to common hook

This commit is contained in:
Trevor Buckner
2026-10-05 18:06:02 +00:00
parent c5e9e2f8e1
commit 766fc73dbc
4 changed files with 20 additions and 29 deletions
+3 -13
View File
@@ -103,23 +103,13 @@ const EditPage = (props)=>{
if(!res) return; if(!res) return;
const updatedFields = { const updatedFields = {
googleId : res.body.googleId ?? null, googleId : res.body.googleId ?? null, //TODO: investigate if we can set googleId:null in server/update instead of undefined
editId : res.body.editId, editId : res.body.editId, //then, editPage can just apply res.body instead of breaking out these fields.
shareId : res.body.shareId, shareId : res.body.shareId,
version : res.body.version version : res.body.version
}; };
lastSavedBrew.current = { return updatedFields;
...brew,
...updatedFields
};
setCurrentBrew((prevBrew)=>({
...prevBrew,
...updatedFields
}));
return res.body;
}; };
const onSaveSuccess = (savedBrew)=>{ const onSaveSuccess = (savedBrew)=>{
+3 -8
View File
@@ -22,9 +22,9 @@ const HomePage =(props)=>{
...props ...props
}; };
const [currentBrew, setCurrentBrew] = useState(props.brew); const [currentBrew, setCurrentBrew] = useState(props.brew);
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false); const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
const [error, setError] = useState(undefined); const [error, setError] = useState(undefined);
const lastSavedBrew = useRef(_.cloneDeep(props.brew)); const lastSavedBrew = useRef(_.cloneDeep(props.brew));
@@ -38,11 +38,6 @@ const HomePage =(props)=>{
}); });
if(!res) return; if(!res) return;
setCurrentBrew((prevBrew)=>({
...prevBrew,
...res.body
}));
return res.body; return res.body;
}; };
+2 -7
View File
@@ -23,8 +23,8 @@ const NewPage = (props)=>{
}; };
const [currentBrew, setCurrentBrew] = useState(props.brew); const [currentBrew, setCurrentBrew] = useState(props.brew);
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false); const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
const [error, setError] = useState(null); const [error, setError] = useState(null);
const lastSavedBrew = useRef(_.cloneDeep(props.brew)); const lastSavedBrew = useRef(_.cloneDeep(props.brew));
@@ -46,11 +46,6 @@ const NewPage = (props)=>{
}); });
if(!res) return; if(!res) return;
setCurrentBrew((prevBrew)=>({
...prevBrew,
...res.body
}));
return res.body; return res.body;
}; };
@@ -202,9 +202,20 @@ export default function useCommonEditPageFunctions(dependencies) {
setIsSaving(true); setIsSaving(true);
setError(null); setError(null);
setHTMLErrors(hbfm.validate(currentBrew.text)); setHTMLErrors(hbfm.validate(currentBrew.text));
let savedBrew = await save(currentBrew, saveToGoogle) const brewToSave = currentBrew;
let savedBrew = await save(brewToSave, saveToGoogle)
.catch((err)=>{setError(err);}); .catch((err)=>{setError(err);});
if(savedBrew) { if(savedBrew) {
lastSavedBrew.current = {
...brewToSave,
...savedBrew
};
setCurrentBrew((prevBrew)=>({
...prevBrew,
...savedBrew
}));
if(useLocalStorage) clearLocalStorage(); if(useLocalStorage) clearLocalStorage();
onSaveSuccess(savedBrew); onSaveSuccess(savedBrew);
} }