@@ -924,6 +924,20 @@ const MainApp: React.FC = () => {
924924 ensureNodeVisibleRef . current = ensureNodeVisible ;
925925 } , [ ensureNodeVisible ] ) ;
926926
927+ const handleNavigateToNode = useCallback ( ( nodeId : string ) => {
928+ const target = items . find ( item => item . id === nodeId ) ;
929+ if ( ! target ) {
930+ return ;
931+ }
932+ ensureNodeVisible ( target ) ;
933+ setActiveTemplateId ( null ) ;
934+ setView ( 'editor' ) ;
935+ setDocumentView ( 'editor' ) ;
936+ setActiveNodeId ( nodeId ) ;
937+ setSelectedIds ( new Set ( [ nodeId ] ) ) ;
938+ setLastClickedId ( nodeId ) ;
939+ } , [ items , ensureNodeVisible ] ) ;
940+
927941 const handleNewDocument = useCallback ( async ( parentId ?: string | null ) => {
928942 addLog ( 'INFO' , 'User action: Create New Document.' ) ;
929943 const effectiveParentId = parentId !== undefined ? parentId : getParentIdForNewItem ( ) ;
@@ -1564,19 +1578,20 @@ const MainApp: React.FC = () => {
15641578 languageCounts : [ ] ,
15651579 } ;
15661580 return (
1567- < FolderOverview
1568- key = { activeNode . id }
1569- folder = { activeNode }
1570- metrics = { activeFolderMetrics ?? fallbackMetrics }
1571- onNewDocument = { ( parentId ) => handleNewDocument ( parentId ) }
1572- onNewSubfolder = { ( parentId ) => handleNewFolder ( parentId ) }
1573- onImportFiles = { handleImportFilesIntoFolder }
1574- onRenameFolderTitle = { handleRenameNode }
1575- folderSearchTerm = { folderSearchTerm }
1576- onFolderSearchTermChange = { setFolderSearchTerm }
1577- searchResults = { folderSearchResults }
1578- isSearchLoading = { isFolderSearchLoading }
1579- />
1581+ < FolderOverview
1582+ key = { activeNode . id }
1583+ folder = { activeNode }
1584+ metrics = { activeFolderMetrics ?? fallbackMetrics }
1585+ onNewDocument = { ( parentId ) => handleNewDocument ( parentId ) }
1586+ onNewSubfolder = { ( parentId ) => handleNewFolder ( parentId ) }
1587+ onImportFiles = { handleImportFilesIntoFolder }
1588+ onRenameFolderTitle = { handleRenameNode }
1589+ onNavigateToNode = { handleNavigateToNode }
1590+ folderSearchTerm = { folderSearchTerm }
1591+ onFolderSearchTermChange = { setFolderSearchTerm }
1592+ searchResults = { folderSearchResults }
1593+ isSearchLoading = { isFolderSearchLoading }
1594+ />
15801595 ) ;
15811596 }
15821597 }
0 commit comments