diff --git a/src/screens/Notes/NoteList.tsx b/src/screens/Notes/NoteList.tsx index eb14ba0a..6a5883a4 100644 --- a/src/screens/Notes/NoteList.tsx +++ b/src/screens/Notes/NoteList.tsx @@ -222,7 +222,10 @@ export const NoteList = (props: Props) => { { + props.onSearchCancel(); + onSearchBlur(); + }} onDelete={props.onSearchCancel} onFocus={onSearchFocus} onBlur={onSearchBlur} diff --git a/src/screens/Notes/Notes.tsx b/src/screens/Notes/Notes.tsx index 9fbda2e0..32b332d2 100644 --- a/src/screens/Notes/Notes.tsx +++ b/src/screens/Notes/Notes.tsx @@ -95,6 +95,10 @@ export const Notes = React.memo( const [includeTrashedNotes, setIncludeTrashedNotes] = useState( true ); + const [ + protectedTogglingStarted, + setProtectedTogglingStarted, + ] = useState(false); const [shouldFocusSearch, setShouldFocusSearch] = useState(false); // Ref @@ -179,6 +183,17 @@ export const Notes = React.memo( [application, navigation, openNote] ); + useEffect(() => { + const removeBlurScreenListener = navigation.addListener('blur', () => { + if (protectedTogglingStarted) { + setProtectedTogglingStarted(false); + setShouldFocusSearch(true); + } + }); + + return removeBlurScreenListener; + }, [navigation, protectedTogglingStarted]); + useEffect(() => { let mounted = true; const removeEditorObserver = application?.editorGroup.addChangeObserver( @@ -264,7 +279,7 @@ export const Notes = React.memo( ); const toggleIncludeProtected = useCallback(async () => { - setShouldFocusSearch(true); + setProtectedTogglingStarted(true); const includeProtected = !includeProtectedNoteText; const allowToggling = includeProtected