Shift setHTMLErrors into common hook

This commit is contained in:
Trevor Buckner
2026-09-30 20:24:26 -04:00
parent d18859e17d
commit df108c95d6
4 changed files with 8 additions and 28 deletions
@@ -51,7 +51,6 @@ const EditPage = (props)=>{
const [currentBrew, setCurrentBrew] = useState(props.brew); const [currentBrew, setCurrentBrew] = useState(props.brew);
const [saveGoogle, setSaveGoogle] = useState(!!props.brew.googleId); const [saveGoogle, setSaveGoogle] = useState(!!props.brew.googleId);
const [error, setError] = useState(null); const [error, setError] = useState(null);
const [HTMLErrors, setHTMLErrors] = useState(hbfm.validate(props.brew.text));
const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed); const [alertTrashedGoogleBrew, setAlertTrashedGoogleBrew] = useState(props.brew.trashed);
const [alertNoGoogleToTransfer, setAlertNoGoogleToTransfer] = useState(false); const [alertNoGoogleToTransfer, setAlertNoGoogleToTransfer] = useState(false);
const [alertOwnershipToTransfer, setAlertOwnershipToTransfer] = useState(false); const [alertOwnershipToTransfer, setAlertOwnershipToTransfer] = useState(false);
@@ -90,8 +89,6 @@ const EditPage = (props)=>{
}; };
const save = async (brew, saveToGoogle)=>{ const save = async (brew, saveToGoogle)=>{
setHTMLErrors(hbfm.validate(brew.text));
await updateHistory(brew).catch(console.error); await updateHistory(brew).catch(console.error);
await versionHistoryGarbageCollection().catch(console.error); await versionHistoryGarbageCollection().catch(console.error);
@@ -217,8 +214,6 @@ const EditPage = (props)=>{
}; };
const { const {
handleSplitMove,
handleBrewChange,
toggleAutoSave, toggleAutoSave,
clearError, clearError,
renderSaveButton, renderSaveButton,
@@ -229,8 +224,6 @@ const EditPage = (props)=>{
} = useCommonEditPageFunctions({ } = useCommonEditPageFunctions({
saveGoogle, saveGoogle,
setError, setError,
HTMLErrors,
setHTMLErrors,
currentBrew, currentBrew,
setCurrentBrew, setCurrentBrew,
useLocalStorage, useLocalStorage,
+1 -8
View File
@@ -46,7 +46,6 @@ const HomePage =(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 [HTMLErrors, setHTMLErrors] = useState(hbfm.validate(props.brew.text));
const lastSavedBrew = useRef(_.cloneDeep(props.brew)); const lastSavedBrew = useRef(_.cloneDeep(props.brew));
@@ -82,18 +81,12 @@ const HomePage =(props)=>{
}; };
const { const {
handleSplitMove,
handleBrewChange,
clearError, clearError,
renderSaveButton, renderSaveButton,
renderPanels, renderPanels
unsavedChanges,
trySave
} = useCommonEditPageFunctions({ } = useCommonEditPageFunctions({
saveGoogle, saveGoogle,
setError, setError,
HTMLErrors,
setHTMLErrors,
currentBrew, currentBrew,
setCurrentBrew, setCurrentBrew,
useLocalStorage, useLocalStorage,
@@ -46,7 +46,6 @@ 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 [HTMLErrors, setHTMLErrors] = useState(hbfm.validate(props.brew.text));
const lastSavedBrew = useRef(_.cloneDeep(props.brew)); const lastSavedBrew = useRef(_.cloneDeep(props.brew));
@@ -131,16 +130,12 @@ const NewPage = (props)=>{
); );
const { const {
handleSplitMove,
handleBrewChange,
clearError, clearError,
renderSaveButton, renderSaveButton,
renderPanels renderPanels
} = useCommonEditPageFunctions({ } = useCommonEditPageFunctions({
saveGoogle, saveGoogle,
setError, setError,
HTMLErrors,
setHTMLErrors,
currentBrew, currentBrew,
setCurrentBrew, setCurrentBrew,
useLocalStorage, useLocalStorage,
@@ -20,8 +20,6 @@ export default function useCommonEditPageFunctions(dependencies) {
const { const {
saveGoogle, saveGoogle,
setError, setError,
HTMLErrors,
setHTMLErrors,
currentBrew, currentBrew,
setCurrentBrew, setCurrentBrew,
useLocalStorage, useLocalStorage,
@@ -40,12 +38,13 @@ export default function useCommonEditPageFunctions(dependencies) {
userThemes = {} userThemes = {}
} = dependencies; } = dependencies;
const [isSaving, setIsSaving] = useState(false); const [isSaving, setIsSaving] = useState(false);
const [lastSavedTime, setLastSavedTime] = useState(new Date()); const [lastSavedTime, setLastSavedTime] = useState(new Date());
const [autoSaveEnabled, setAutoSaveEnabled] = useState(!sandbox); const [autoSaveEnabled, setAutoSaveEnabled] = useState(!sandbox);
const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true); const [warnUnsavedChanges, setWarnUnsavedChanges] = useState(true);
const [unsavedChanges, setUnsavedChanges] = useState(false); const [unsavedChanges, setUnsavedChanges] = useState(false);
const [themeBundle, setThemeBundle] = useState({}); const [themeBundle, setThemeBundle] = useState({});
const [HTMLErrors, setHTMLErrors] = useState(hbfm.validate(currentBrew.text));
const [currentEditorViewPageNum, setCurrentEditorViewPageNum] = useState(1); const [currentEditorViewPageNum, setCurrentEditorViewPageNum] = useState(1);
const [currentEditorCursorPageNum, setCurrentEditorCursorPageNum] = useState(1); const [currentEditorCursorPageNum, setCurrentEditorCursorPageNum] = useState(1);
@@ -61,7 +60,6 @@ export default function useCommonEditPageFunctions(dependencies) {
const autoSavePref = !sandbox && JSON.parse(localStorage.getItem(AUTOSAVE_KEY) ?? true); const autoSavePref = !sandbox && JSON.parse(localStorage.getItem(AUTOSAVE_KEY) ?? true);
setAutoSaveEnabled(autoSavePref); setAutoSaveEnabled(autoSavePref);
setWarnUnsavedChanges(!autoSavePref); setWarnUnsavedChanges(!autoSavePref);
setHTMLErrors(hbfm.validate(currentBrew.text));
fetchThemeBundle(setError, setThemeBundle, currentBrew.renderer, currentBrew.theme); fetchThemeBundle(setError, setThemeBundle, currentBrew.renderer, currentBrew.theme);
const handleControlKeys = (e)=>{ const handleControlKeys = (e)=>{
@@ -148,6 +146,7 @@ export default function useCommonEditPageFunctions(dependencies) {
saveTimeout.current = setTimeout(async ()=>{ saveTimeout.current = setTimeout(async ()=>{
setIsSaving(true); setIsSaving(true);
setError(null); setError(null);
setHTMLErrors(hbfm.validate(currentBrew.text));
await save(currentBrew, saveToGoogle) await save(currentBrew, saveToGoogle)
.catch((err)=>{ .catch((err)=>{
setError(err); setError(err);