mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-11-04 22:38:43 +00:00
Move currentBrew/lastSavedBrew update after saving to common hook
This commit is contained in:
@@ -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)=>{
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user