File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -101,15 +101,16 @@ export const TreeEntry: FC<TreeEntryProperties> = ({
101101 const [ key , value ] = data ;
102102 const [ open , setOpen ] = useState ( false ) ;
103103 const Icon = open ? MinusSquareIcon : PlusSquareIcon ;
104+ const isToggleable =
105+ ( typeof value === "object" && Object . values ( value ?? { } ) . length ) ||
106+ ( Array . isArray ( value ) && value . length ) ;
104107
105108 const toggleOpen = ( ) => setOpen ( ! open ) ;
106109
107110 return (
108111 < >
109112 < div className = "flex items-center gap-3" >
110- { ( typeof value === "object" &&
111- Object . values ( value ?? { } ) . length ) ||
112- ( Array . isArray ( value ) && value . length ) ? (
113+ { isToggleable ? (
113114 < button
114115 onClick = { toggleOpen }
115116 aria-label = "Toggle"
@@ -120,7 +121,18 @@ export const TreeEntry: FC<TreeEntryProperties> = ({
120121 ) : (
121122 < div className = "w-4 h-4" />
122123 ) }
123- { key && < span > { key } </ span > }
124+ { key &&
125+ ( isToggleable ? (
126+ < button
127+ onClick = { toggleOpen }
128+ type = "button"
129+ className = "hover:underline"
130+ >
131+ { key }
132+ </ button >
133+ ) : (
134+ < span > { key } </ span >
135+ ) ) }
124136 { renderValue ( value ) . map ( ( part , partIndex ) => (
125137 < span
126138 key = { partIndex }
You can’t perform that action at this time.
0 commit comments