From 82bc819a214832ccc49c37aa4d4bc47864d96bde Mon Sep 17 00:00:00 2001 From: mrjo118 Date: Wed, 6 Aug 2025 11:09:05 +0100 Subject: [PATCH] Mobile: Fixes #12822: Fix switching between note and todo on mobile (#12849) --- packages/app-mobile/components/screens/Note/Note.tsx | 4 ++-- packages/lib/components/shared/note-screen-shared.ts | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/app-mobile/components/screens/Note/Note.tsx b/packages/app-mobile/components/screens/Note/Note.tsx index c7c1ae5446..2d57077936 100644 --- a/packages/app-mobile/components/screens/Note/Note.tsx +++ b/packages/app-mobile/components/screens/Note/Note.tsx @@ -1043,9 +1043,9 @@ class NoteScreenComponent extends BaseScreenComponent imp }; private toggleIsTodo_onPress() { - shared.toggleIsTodo_onPress(this); + const newNote = shared.toggleIsTodo_onPress(this); - this.scheduleSave(this.state); + this.scheduleSave({ ...this.state, note: newNote }); } private async share_onPress() { diff --git a/packages/lib/components/shared/note-screen-shared.ts b/packages/lib/components/shared/note-screen-shared.ts index 98c627cef4..16ad09088f 100644 --- a/packages/lib/components/shared/note-screen-shared.ts +++ b/packages/lib/components/shared/note-screen-shared.ts @@ -76,7 +76,7 @@ interface Shared { attachedResources?: (noteBody: string)=> Promise; isModified?: (comp: BaseNoteScreenComponent)=> boolean; initState?: (comp: BaseNoteScreenComponent)=> Promise; - toggleIsTodo_onPress?: (comp: BaseNoteScreenComponent)=> void; + toggleIsTodo_onPress?: (comp: BaseNoteScreenComponent)=> NoteEntity; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied toggleCheckboxRange?: (ipcMessage: string, noteBody: string)=> any; toggleCheckbox?: (ipcMessage: string, noteBody: string)=> string; @@ -360,9 +360,7 @@ shared.initState = async function(comp: BaseNoteScreenComponent) { }; shared.toggleIsTodo_onPress = function(comp: BaseNoteScreenComponent) { - const newNote = Note.toggleIsTodo(comp.state.note); - const newState = { note: newNote }; - comp.setState(newState); + return Note.toggleIsTodo(comp.state.note); }; function toggleCheckboxLine(ipcMessage: string, noteBody: string) {