@@ -88,8 +88,7 @@ export const CytoscapeRenderer = ({
8888 const cyRef = useRef < HTMLDivElement > ( null ) ;
8989 const [ cy , setCy ] = useState < Core | null > ( null ) ;
9090 const { zoomLevel, updateZoom } = useContext ( ZoomContext ) ;
91- const [ selectedNode , setSelectedNode ] = useState < CalmNode [ 'data' ] | null > ( null ) ;
92- const [ selectedEdge , setSelectedEdge ] = useState < Edge [ 'data' ] | null > ( null ) ;
91+ const [ selectedItem , setSelectedItem ] = useState < CalmNode [ 'data' ] | Edge [ 'data' ] | null > ( null ) ;
9392
9493 // Generate node label templates
9594 const getNodeLabelTemplateGenerator =
@@ -165,14 +164,12 @@ export const CytoscapeRenderer = ({
165164 // Add event listeners
166165 updatedCy . on ( 'tap' , 'node' , ( e ) => {
167166 const node = e . target as NodeSingular ;
168- setSelectedEdge ( null ) ;
169- setSelectedNode ( node ?. data ( ) ) ;
167+ setSelectedItem ( node ?. data ( ) ) ;
170168 } ) ;
171169
172170 updatedCy . on ( 'tap' , 'edge' , ( e ) => {
173171 const edge = e . target as EdgeSingular ;
174- setSelectedNode ( null ) ;
175- setSelectedEdge ( edge ?. data ( ) ) ;
172+ setSelectedItem ( edge ?. data ( ) ) ;
176173 } ) ;
177174
178175 updatedCy . on ( 'zoom' , ( ) => updateZoom ( updatedCy . zoom ( ) ) ) ;
@@ -218,11 +215,8 @@ export const CytoscapeRenderer = ({
218215 </ div >
219216 ) }
220217 < div ref = { cyRef } className = "flex-1 bg-white visualizer" style = { { height : '100vh' } } />
221- { selectedNode && (
222- < Sidebar selectedData = { selectedNode } closeSidebar = { ( ) => setSelectedNode ( null ) } />
223- ) }
224- { selectedEdge && (
225- < Sidebar selectedData = { selectedEdge } closeSidebar = { ( ) => setSelectedEdge ( null ) } />
218+ { selectedItem && (
219+ < Sidebar selectedData = { selectedItem } closeSidebar = { ( ) => setSelectedItem ( null ) } />
226220 ) }
227221 </ div >
228222 ) ;
0 commit comments