@@ -279,18 +279,18 @@ function getUrlParameter(name: string): string | null {
279279
280280function updateUrlParameters ( params : Record < string , string | null > ) {
281281 const url = new URL ( window . location . href ) ;
282-
282+
283283 Object . entries ( params ) . forEach ( ( [ key , value ] ) => {
284284 if ( value === null ) {
285285 url . searchParams . delete ( key ) ;
286286 } else {
287287 url . searchParams . set ( key , value ) ;
288288 }
289289 } ) ;
290-
290+
291291 // Only push state if the URL actually changed
292292 if ( url . toString ( ) !== window . location . href ) {
293- window . history . pushState ( { } , '' , url . toString ( ) ) ;
293+ window . history . pushState ( { } , "" , url . toString ( ) ) ;
294294 }
295295}
296296
@@ -323,9 +323,9 @@ function LoadedApp() {
323323
324324 // Initialize state from URL parameters
325325 useEffect ( ( ) => {
326- const initialRootNodeId = getUrlParameter ( ' root' ) ;
327- const initialSelectedNodeId = getUrlParameter ( ' selected' ) ;
328-
326+ const initialRootNodeId = getUrlParameter ( " root" ) ;
327+ const initialSelectedNodeId = getUrlParameter ( " selected" ) ;
328+
329329 if ( initialRootNodeId ) {
330330 setRootNodeId ( initialRootNodeId ) ;
331331 }
@@ -337,22 +337,22 @@ function LoadedApp() {
337337 // Listen for browser navigation (back/forward buttons)
338338 useEffect ( ( ) => {
339339 const handlePopState = ( ) => {
340- const urlRootNodeId = getUrlParameter ( ' root' ) ;
341- const urlSelectedNodeId = getUrlParameter ( ' selected' ) ;
342-
340+ const urlRootNodeId = getUrlParameter ( " root" ) ;
341+ const urlSelectedNodeId = getUrlParameter ( " selected" ) ;
342+
343343 setRootNodeId ( urlRootNodeId ) ;
344344 setSelectedNodeId ( urlSelectedNodeId ) ;
345345 } ;
346346
347- window . addEventListener ( ' popstate' , handlePopState ) ;
348- return ( ) => window . removeEventListener ( ' popstate' , handlePopState ) ;
347+ window . addEventListener ( " popstate" , handlePopState ) ;
348+ return ( ) => window . removeEventListener ( " popstate" , handlePopState ) ;
349349 } , [ ] ) ;
350350
351351 // Update URL when rootNodeId changes
352352 useEffect ( ( ) => {
353- updateUrlParameters ( {
353+ updateUrlParameters ( {
354354 root : rootNodeId ,
355- selected : rootNodeId ? selectedNodeId : null
355+ selected : rootNodeId ? selectedNodeId : null ,
356356 } ) ;
357357 } , [ rootNodeId , selectedNodeId ] ) ;
358358
@@ -368,17 +368,17 @@ function LoadedApp() {
368368 setTreeIndex ( 0 ) ;
369369
370370 // Reset UI state but preserve URL parameters
371- const urlRootNodeId = getUrlParameter ( ' root' ) ;
372- const urlSelectedNodeId = getUrlParameter ( ' selected' ) ;
373-
371+ const urlRootNodeId = getUrlParameter ( " root" ) ;
372+ const urlSelectedNodeId = getUrlParameter ( " selected" ) ;
373+
374374 // Only reset if the URL doesn't specify nodes
375375 if ( ! urlRootNodeId ) {
376376 setRootNodeId ( null ) ;
377377 }
378378 if ( ! urlSelectedNodeId ) {
379379 setSelectedNodeId ( null ) ;
380380 }
381-
381+
382382 setError ( null ) ;
383383 } )
384384 . catch ( ( err ) => {
@@ -422,8 +422,6 @@ function LoadedApp() {
422422 }
423423 } , [ selectedNodeId , subtree ] ) ;
424424
425-
426-
427425 useEffect ( ( ) => {
428426 mermaid . initialize ( {
429427 startOnLoad : false ,
@@ -1053,7 +1051,7 @@ function NodeViewer({
10531051 < div className = "flex items-center gap-1" >
10541052 < button
10551053 onClick = { ( ) => onRootSelect ( nodeId ) }
1056- className = "p-1 hover:bg-gray-100 text-xs text-gray-600 underline hover:text-gray-700 rounded"
1054+ className = "p-1 hover:bg-gray-100 text-xs text-gray-800 underline hover:text-gray-900 rounded"
10571055 title = "Focus as root"
10581056 >
10591057 Focus
0 commit comments