@@ -51,20 +51,24 @@ export default function MainLayout() {
5151 expandedFolders,
5252 updateFolder,
5353 createNote,
54+ creatingNote,
5455 createFolder,
5556 deleteFolder,
5657 updateNote,
5758 deleteNote,
5859 toggleStar,
60+ starringStar,
5961 archiveNote,
6062 hideNote,
63+ hidingNote,
6164 unhideNote,
6265 toggleFolderExpansion,
6366 reorderFolders,
6467 setSelectedNote,
6568 setSelectedFolder,
6669 setCurrentView,
6770 setSearchQuery,
71+ setNotes,
6872 refetch,
6973 reinitialize,
7074 webSocket,
@@ -137,17 +141,43 @@ export default function MainLayout() {
137141 const handleRefreshNote = useCallback ( async ( noteId : string ) => {
138142 try {
139143 const apiNote = await api . getNote ( noteId ) ;
140- const note : Note = {
144+ const refreshedNote : Note = {
141145 ...apiNote ,
142146 createdAt : new Date ( apiNote . createdAt ) ,
143147 updatedAt : new Date ( apiNote . updatedAt ) ,
144148 hiddenAt : apiNote . hiddenAt ? new Date ( apiNote . hiddenAt ) : null ,
145149 } ;
146- setSelectedNote ( note ) ;
150+
151+ // Update the note in the notes list
152+ setNotes ( ( prev ) =>
153+ prev . map ( ( note ) => {
154+ if ( note . id === noteId ) {
155+ // Preserve attachments and folder from local state
156+ return {
157+ ...refreshedNote ,
158+ attachments : note . attachments ,
159+ folder : note . folder ,
160+ } ;
161+ }
162+ return note ;
163+ } )
164+ ) ;
165+
166+ // Update selected note
167+ setSelectedNote ( ( prev ) => {
168+ if ( prev ?. id === noteId ) {
169+ return {
170+ ...refreshedNote ,
171+ attachments : prev . attachments ,
172+ folder : prev . folder ,
173+ } ;
174+ }
175+ return prev ;
176+ } ) ;
147177 } catch ( error ) {
148178 console . error ( 'Failed to refresh note:' , error ) ;
149179 }
150- } , [ setSelectedNote ] ) ;
180+ } , [ setSelectedNote , setNotes ] ) ;
151181
152182 const handleMasterPasswordUnlock = useCallback ( ( ) => {
153183 handleUnlockSuccess ( ) ;
@@ -194,6 +224,7 @@ export default function MainLayout() {
194224 onCreateNote : handleCreateNote ,
195225 onToggleFolderPanel : handleToggleFolderPanel ,
196226 onEmptyTrash : handleEmptyTrash ,
227+ creatingNote,
197228 } ;
198229
199230 const editorProps : EditorProps = {
@@ -203,7 +234,9 @@ export default function MainLayout() {
203234 onDeleteNote : deleteNote ,
204235 onArchiveNote : archiveNote ,
205236 onToggleStar : toggleStar ,
237+ starringStar,
206238 onHideNote : hideNote ,
239+ hidingNote,
207240 onUnhideNote : unhideNote ,
208241 onRefreshNote : handleRefreshNote ,
209242 userId,
0 commit comments