@@ -18,7 +18,7 @@ import Input from './components/Input';
1818import { ForceGraphMethods , NodeObject } from 'react-force-graph-2d' ;
1919import { Labels } from './components/labels' ;
2020import { Toolbar } from './components/toolbar' ;
21- import { cn , Message , Path , PathData , PathNode } from '@/lib/utils' ;
21+ import { cn , handleZoomToFit , Message , Path , PathData , PathNode } from '@/lib/utils' ;
2222
2323type Tip = {
2424 title : string
@@ -70,7 +70,6 @@ export default function Home() {
7070 const [ chatOpen , setChatOpen ] = useState ( false )
7171 const [ searchNode , setSearchNode ] = useState < PathNode > ( { } ) ;
7272 const [ cooldownTicks , setCooldownTicks ] = useState < number | undefined > ( 0 )
73- const [ cooldownTime , setCooldownTime ] = useState < number > ( 0 )
7473 const [ optionsOpen , setOptionsOpen ] = useState ( false )
7574 const [ messages , setMessages ] = useState < Message [ ] > ( [ ] ) ;
7675 const [ query , setQuery ] = useState ( '' ) ;
@@ -191,22 +190,25 @@ export default function Home() {
191190 const chart = chartRef . current
192191
193192 if ( chart ) {
194-
195193 let chartNode = graph . Elements . nodes . find ( n => n . id == node . id )
196194
197195 if ( ! chartNode ?. visible ) {
198196 if ( ! chartNode ) {
199197 chartNode = graph . extend ( { nodes : [ node ] , edges : [ ] } ) . nodes [ 0 ]
200- } else {
201- chartNode . visible = true
202198 setCooldownTicks ( undefined )
203- setCooldownTime ( 1000 )
199+ setZoomedNodes ( [ chartNode ] )
200+ graph . visibleLinks ( true , [ chartNode ! . id ] )
201+ setData ( { ...graph . Elements } )
202+ return
204203 }
204+ chartNode . visible = true
205205 graph . visibleLinks ( true , [ chartNode ! . id ] )
206206 setData ( { ...graph . Elements } )
207207 }
208-
209- setZoomedNodes ( [ chartNode ] )
208+
209+ setTimeout ( ( ) => {
210+ handleZoomToFit ( chartRef , 4 , ( n : NodeObject < Node > ) => n . id === chartNode ! . id )
211+ } , 0 )
210212 setSearchNode ( chartNode )
211213 setOptionsOpen ( false )
212214 }
@@ -402,8 +404,6 @@ export default function Home() {
402404 setSearchNode = { setSearchNode }
403405 cooldownTicks = { cooldownTicks }
404406 setCooldownTicks = { setCooldownTicks }
405- cooldownTime = { cooldownTime }
406- setCooldownTime = { setCooldownTime }
407407 onCategoryClick = { onCategoryClick }
408408 handleDownloadImage = { handleDownloadImage }
409409 zoomedNodes = { zoomedNodes }
@@ -522,8 +522,6 @@ export default function Home() {
522522 searchNode = { searchNode }
523523 cooldownTicks = { cooldownTicks }
524524 setCooldownTicks = { setCooldownTicks }
525- cooldownTime = { cooldownTime }
526- setCooldownTime = { setCooldownTime }
527525 onCategoryClick = { onCategoryClick }
528526 handleDownloadImage = { handleDownloadImage }
529527 zoomedNodes = { zoomedNodes }
0 commit comments