mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-11-04 20:29:01 +00:00
Merge pull request #5091 from naturalcrit/new/edit/home-more-cleanup
New/Edit/Home Move currentBrew/lastSavedBrew update after saving to common hook
This commit is contained in:
@@ -103,23 +103,13 @@ const EditPage = (props)=>{
|
||||
if(!res) return;
|
||||
|
||||
const updatedFields = {
|
||||
googleId : res.body.googleId ?? null,
|
||||
editId : res.body.editId,
|
||||
googleId : res.body.googleId ?? null, //TODO: investigate if we can set googleId:null in server/update instead of undefined
|
||||
editId : res.body.editId, //then, editPage can just apply res.body instead of breaking out these fields.
|
||||
shareId : res.body.shareId,
|
||||
version : res.body.version
|
||||
};
|
||||
|
||||
lastSavedBrew.current = {
|
||||
...brew,
|
||||
...updatedFields
|
||||
};
|
||||
|
||||
setCurrentBrew((prevBrew)=>({
|
||||
...prevBrew,
|
||||
...updatedFields
|
||||
}));
|
||||
|
||||
return res.body;
|
||||
return updatedFields;
|
||||
};
|
||||
|
||||
const onSaveSuccess = (savedBrew)=>{
|
||||
|
||||
@@ -22,9 +22,9 @@ const HomePage =(props)=>{
|
||||
...props
|
||||
};
|
||||
|
||||
const [currentBrew, setCurrentBrew] = useState(props.brew);
|
||||
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
|
||||
const [error, setError] = useState(undefined);
|
||||
const [currentBrew, setCurrentBrew] = useState(props.brew);
|
||||
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
|
||||
const [error, setError] = useState(undefined);
|
||||
|
||||
const lastSavedBrew = useRef(_.cloneDeep(props.brew));
|
||||
|
||||
@@ -38,11 +38,6 @@ const HomePage =(props)=>{
|
||||
});
|
||||
if(!res) return;
|
||||
|
||||
setCurrentBrew((prevBrew)=>({
|
||||
...prevBrew,
|
||||
...res.body
|
||||
}));
|
||||
|
||||
return res.body;
|
||||
};
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ const NewPage = (props)=>{
|
||||
};
|
||||
|
||||
const [currentBrew, setCurrentBrew] = useState(props.brew);
|
||||
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
|
||||
const [error, setError] = useState(null);
|
||||
const [saveGoogle, setSaveGoogle] = useState(global.account?.googleId ? true : false);
|
||||
const [error, setError] = useState(null);
|
||||
|
||||
const lastSavedBrew = useRef(_.cloneDeep(props.brew));
|
||||
|
||||
@@ -46,11 +46,6 @@ const NewPage = (props)=>{
|
||||
});
|
||||
if(!res) return;
|
||||
|
||||
setCurrentBrew((prevBrew)=>({
|
||||
...prevBrew,
|
||||
...res.body
|
||||
}));
|
||||
|
||||
return res.body;
|
||||
};
|
||||
|
||||
|
||||
@@ -202,9 +202,20 @@ export default function useCommonEditPageFunctions(dependencies) {
|
||||
setIsSaving(true);
|
||||
setError(null);
|
||||
setHTMLErrors(hbfm.validate(currentBrew.text));
|
||||
let savedBrew = await save(currentBrew, saveToGoogle)
|
||||
const brewToSave = currentBrew;
|
||||
let savedBrew = await save(brewToSave, saveToGoogle)
|
||||
.catch((err)=>{setError(err);});
|
||||
if(savedBrew) {
|
||||
lastSavedBrew.current = {
|
||||
...brewToSave,
|
||||
...savedBrew
|
||||
};
|
||||
|
||||
setCurrentBrew((prevBrew)=>({
|
||||
...prevBrew,
|
||||
...savedBrew
|
||||
}));
|
||||
|
||||
if(useLocalStorage) clearLocalStorage();
|
||||
onSaveSuccess(savedBrew);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user