@@ -29,20 +29,19 @@ const MenuItemIcon: React.FC<{ item: MenuItem }> = ({ item }) => {
2929 return < ObjectAvatar name = { item . label } /> ;
3030} ;
3131
32- const RenderMenuItem : React . FC < {
32+ const RecursiveObjectMenuItem : React . FC < {
3333 item : MenuItem ;
3434 isCollapsed ?: boolean ;
3535 level ?: number ;
3636} > = ( { item, isCollapsed, level = 0 } ) => {
37- const commonProps = {
38- key : item . identifier ,
37+ const commonStyleProps = {
3938 className : menuNavigationItemStyle ,
4039 style : { marginLeft : level * 20 } ,
4140 } ;
4241
4342 if ( ! item . children ?. length ) {
4443 return (
45- < DropdownMenuItem { ...commonProps } >
44+ < DropdownMenuItem { ...commonStyleProps } asChild >
4645 < Link to = { constructPath ( item . path ) } >
4746 < Icon icon = { item . icon } className = "w-5 shrink-0 inline-flex justify-center items-center" />
4847 { item . label }
@@ -53,12 +52,12 @@ const RenderMenuItem: React.FC<{
5352
5453 return (
5554 < DropdownMenuAccordion value = { item . identifier } >
56- < DropdownMenuAccordionTrigger { ...commonProps } >
55+ < DropdownMenuAccordionTrigger { ...commonStyleProps } >
5756 { item . path ? < Link to = { constructPath ( item . path ) } > { item . label } </ Link > : item . label }
5857 </ DropdownMenuAccordionTrigger >
5958 < DropdownMenuAccordionContent >
6059 { item . children . map ( ( child ) => (
61- < RenderMenuItem
60+ < RecursiveObjectMenuItem
6261 key = { child . identifier }
6362 item = { child }
6463 isCollapsed = { isCollapsed }
@@ -76,15 +75,15 @@ const TopLevelMenuItem: React.FC<{
7675} > = ( { item, isCollapsed } ) => {
7776 if ( ! item . children ?. length ) {
7877 return (
79- < Link key = { item . identifier } to = { constructPath ( item . path ) } className = { menuNavigationItemStyle } >
78+ < Link to = { constructPath ( item . path ) } className = { menuNavigationItemStyle } >
8079 < MenuItemIcon item = { item } />
8180 < span className = { classNames ( "text-sm" , isCollapsed && "hidden" ) } > { item . label } </ span >
8281 </ Link >
8382 ) ;
8483 }
8584
8685 return (
87- < DropdownMenu key = { item . identifier } >
86+ < DropdownMenu >
8887 < DropdownMenuTrigger className = { classNames ( menuNavigationItemStyle , isCollapsed && "p-2" ) } >
8988 < Tooltip enabled = { isCollapsed } content = { item . label } side = "right" >
9089 < span className = "flex" >
@@ -105,7 +104,7 @@ const TopLevelMenuItem: React.FC<{
105104 >
106105 < h3 className = "text-xl font-medium text-neutral-800 mb-5" > { item . label } </ h3 >
107106 { item . children . map ( ( child ) => (
108- < RenderMenuItem key = { child . identifier } item = { child } isCollapsed = { isCollapsed } />
107+ < RecursiveObjectMenuItem key = { child . identifier } item = { child } isCollapsed = { isCollapsed } />
109108 ) ) }
110109 </ DropdownMenuContent >
111110 </ DropdownMenu >
0 commit comments