chore(react/note_title): add before unload listener

This commit is contained in:
Elian Doran
2025-08-21 12:55:33 +03:00
parent b93fa332d3
commit 945e180a6f
4 changed files with 32 additions and 30 deletions

View File

@@ -1,11 +1,12 @@
import { useEffect, useRef, useState } from "preact/hooks";
import { t } from "../services/i18n";
import FormTextBox from "./react/FormTextBox";
import { useNoteContext, useNoteProperty, useSpacedUpdate } from "./react/hooks";
import { useBeforeUnload, useNoteContext, useNoteProperty, useSpacedUpdate } from "./react/hooks";
import protected_session_holder from "../services/protected_session_holder";
import server from "../services/server";
import "./note_title.css";
import { isLaunchBarConfig } from "../services/utils";
import appContext from "../components/app_context";
export default function NoteTitleWidget() {
const { note, noteId, componentId, viewScope, noteContext } = useNoteContext();
@@ -39,6 +40,10 @@ export default function NoteTitleWidget() {
await server.put<void>(`notes/${noteId}/title`, { title: newTitle.current }, componentId);
});
useEffect(() => {
appContext.addBeforeUnloadListener(() => spacedUpdate.isAllSavedAndTriggerUpdate());
}, []);
return (
<div className="note-title-widget">
{note && <FormTextBox