mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	fix(react/note_title): not refreshing on protected session
This commit is contained in:
		| @@ -23,7 +23,7 @@ export default function NoteTitleWidget() { | ||||
|             || isLaunchBarConfig(note.noteId) | ||||
|             || viewScope?.viewMode !== "default"; | ||||
|         setReadOnly(isReadOnly); | ||||
|     }, [ note?.noteId, note?.isProtected, viewScope?.viewMode ]); | ||||
|     }, [ note, note?.noteId, note?.isProtected, viewScope?.viewMode ]); | ||||
|  | ||||
|     useEffect(() => { | ||||
|         if (isReadOnly) { | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import Component from "../../components/component"; | ||||
| import NoteContext from "../../components/note_context"; | ||||
| import { ReactWrappedWidget } from "../basic_widget"; | ||||
| import FNote from "../../entities/fnote"; | ||||
| import froca from "../../services/froca"; | ||||
|  | ||||
| type TriliumEventHandler<T extends EventNames> = (data: EventData<T>) => void; | ||||
| const registeredHandlers: Map<Component, Map<EventNames, TriliumEventHandler<any>[]>> = new Map(); | ||||
| @@ -233,6 +234,11 @@ export function useNoteContext() { | ||||
|  | ||||
|     const [ noteContext, setNoteContext ] = useState<NoteContext>(); | ||||
|     const [ notePath, setNotePath ] = useState<string | null | undefined>(); | ||||
|     const [ note, setNote ] = useState<FNote | null | undefined>();  | ||||
|  | ||||
|     useEffect(() => { | ||||
|         setNote(noteContext?.note); | ||||
|     }, [ notePath ]); | ||||
|  | ||||
|     useTriliumEventBeta("activeContextChanged", ({ noteContext }) => { | ||||
|         setNoteContext(noteContext); | ||||
| @@ -250,11 +256,14 @@ export function useNoteContext() { | ||||
|         console.warn("Note switched", notePath); | ||||
|         setNotePath(notePath); | ||||
|     }); | ||||
|     useTriliumEventBeta("frocaReloaded", () => { | ||||
|         setNote(noteContext?.note); | ||||
|     }); | ||||
|      | ||||
|     const parentComponent = useContext(ParentComponent) as ReactWrappedWidget; | ||||
|  | ||||
|     return { | ||||
|         note: noteContext?.note, | ||||
|         note: note, | ||||
|         noteId: noteContext?.note?.noteId, | ||||
|         notePath: noteContext?.notePath, | ||||
|         hoistedNoteId: noteContext?.hoistedNoteId, | ||||
| @@ -280,16 +289,17 @@ export function useNoteProperty<T extends keyof FNote>(note: FNote | null | unde | ||||
|     } | ||||
|  | ||||
|     const [ value, setValue ] = useState<FNote[T]>(note[property]); | ||||
|     const refreshValue = () => setValue(note[property]); | ||||
|  | ||||
|     // Watch for note changes. | ||||
|     useEffect(() => setValue(note[property]), [ note[property] ]); | ||||
|     useEffect(() => refreshValue(), [ note, note[property] ]); | ||||
|  | ||||
|     // Watch for external changes. | ||||
|     useTriliumEventBeta("entitiesReloaded", ({ loadResults }) => { | ||||
|         if (loadResults.isNoteReloaded(note.noteId, componentId)) { | ||||
|             setValue(note[property]); | ||||
|             refreshValue(); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     return value; | ||||
|     return note[property]; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user