@@ -50,10 +50,8 @@ function EditorComponent({
5050
5151 useEffect ( ( ) => {
5252 const filtered = Object . values ( notesState ) . filter ( ( note ) => {
53- const titleMatch = note . title
54- . toLowerCase ( )
55- . includes ( searchQuery . toLowerCase ( ) ) ;
56- return titleMatch ;
53+ const noteTitle = note . title ?? "" ; // fallback to empty string
54+ return noteTitle . toLowerCase ( ) . includes ( searchQuery . toLowerCase ( ) ) ;
5755 } ) ;
5856
5957 setFilteredNotes (
@@ -64,7 +62,7 @@ function EditorComponent({
6462 const notesList = Object . values ( filteredNotes ) . sort ( ( a , b ) => {
6563 switch ( sortingOption ) {
6664 case "alphabetical" :
67- return a . title . localeCompare ( b . title ) ;
65+ return ( a . title ?? "" ) . localeCompare ( b . title ?? "" ) ;
6866 case "createdAt" :
6967 const createdAtA = typeof a . createdAt === "number" ? a . createdAt : 0 ;
7068 const createdAtB = typeof b . createdAt === "number" ? b . createdAt : 0 ;
@@ -151,9 +149,16 @@ function EditorComponent({
151149 }
152150 } , [ labelStore . labels , editor , note . labels , title ] ) ;
153151
154- document . addEventListener ( "showFind" , ( ) => {
155- setShowFind ( ( prevShowFind ) => ! prevShowFind ) ;
156- } ) ;
152+ useEffect ( ( ) => {
153+ function toggleFindListener ( ) {
154+ setShowFind ( ( prevShowFind ) => ! prevShowFind ) ;
155+ }
156+
157+ document . addEventListener ( "showFind" , toggleFindListener ) ;
158+ return ( ) => {
159+ document . removeEventListener ( "showFind" , toggleFindListener ) ;
160+ } ;
161+ } , [ ] ) ;
157162
158163 useEffect ( ( ) => {
159164 setWd ( localStorage . getItem ( "expand-editor" ) === "true" ) ;
0 commit comments