@@ -52,57 +52,69 @@ export function Sidebar({ selectedData, closeSidebar }: SidebarProps) {
5252 < div >
5353 < div className = "text-xl font-bold mb-2" > Node Details</ div >
5454 < div className = "space-y-2" >
55- < p >
56- < span className = "font-light" > unique-id: </ span >
57- < span className = "font-semibold" > { selectedData . id } </ span >
58- </ p >
59- < p >
60- < span className = "font-light" > name: </ span >
61- < span className = "font-semibold" > { selectedData . label } </ span >
62- </ p >
63- < p >
64- < span className = "font-light" > node-type: </ span >
65- < span className = "font-semibold" > { selectedData . type } </ span >
66- </ p >
67- < p >
68- < span className = "font-light" > description: </ span >
69- < span className = "font-semibold" > { selectedData . description } </ span >
70- </ p >
71-
72- < p >
73- < div className = "flex items-center justify-between" >
74- < span className = "font-light" > interfaces: </ span >
75- < button
76- aria-label = "toggle-interfaces"
77- onClick = { toggleInterfacesVisibility }
78- className = "ml-auto btn btn-xs btn-outline"
79- >
80- { isInterfacesVisible ? (
81- < IoRemoveOutline size = { 16 } />
82- ) : (
83- < IoAddOutline size = { 16 } />
84- ) }
85- </ button >
86- </ div > { ' ' }
87- </ p >
88- < div className = "space-y-4" >
89- { selectedData . interfaces ?. map ( ( interfaceItem : any , index : Key ) => (
90- < div key = { index } className = "ml-4 border-b border-gray-300 pb-4" >
91- < div className = "space-y-1" >
92- { Object . entries ( interfaceItem ) . map ( ( [ key , value ] ) => (
93- < div key = { key } className = "flex cursor-default" >
94- < span className = "font-light" >
95- { key } :{ '' }
96- </ span >
97- < span className = "font-semibold" >
98- { String ( value ) }
99- </ span >
55+ < div className = "node-details" >
56+ < p >
57+ < span className = "font-light" > unique-id: </ span >
58+ < span className = "font-semibold" > { selectedData . id } </ span >
59+ </ p >
60+ < p >
61+ < span className = "font-light" > name: </ span >
62+ < span className = "font-semibold" > { selectedData . label } </ span >
63+ </ p >
64+ < p >
65+ < span className = "font-light" > node-type: </ span >
66+ < span className = "font-semibold" > { selectedData . type } </ span >
67+ </ p >
68+ < p >
69+ < span className = "font-light" > description: </ span >
70+ < span className = "font-semibold" >
71+ { selectedData . description }
72+ </ span >
73+ </ p >
74+ </ div >
75+ { selectedData . interfaces && (
76+ < div className = "interfaces" >
77+ < div className = "flex items-center justify-between" >
78+ < span className = "font-light" > interfaces: </ span >
79+ < button
80+ aria-label = "toggle-interfaces"
81+ onClick = { toggleInterfacesVisibility }
82+ className = "ml-auto btn btn-xs btn-outline"
83+ >
84+ { isInterfacesVisible ? (
85+ < IoRemoveOutline size = { 16 } />
86+ ) : (
87+ < IoAddOutline size = { 16 } />
88+ ) }
89+ </ button >
90+ </ div >
91+ { isInterfacesVisible && (
92+ < div className = "space-y-4" >
93+ { selectedData . interfaces . map ( ( interfaceItem ) => (
94+ < div className = "ml-4 border-b border-gray-300 pb-4" >
95+ < div className = "space-y-1" >
96+ { Object . entries ( interfaceItem ) . map (
97+ ( [ key , value ] ) => (
98+ < div
99+ key = { key }
100+ className = "flex cursor-default"
101+ >
102+ < span className = "font-light" >
103+ { key } :{ ' ' }
104+ </ span >
105+ < span className = "font-semibold" >
106+ { String ( value ) }
107+ </ span >
108+ </ div >
109+ )
110+ ) }
111+ </ div >
100112 </ div >
101113 ) ) }
102114 </ div >
103- </ div >
104- ) ) }
105- </ div >
115+ ) }
116+ </ div >
117+ ) }
106118 </ div >
107119 </ div >
108120 ) }
0 commit comments