@@ -114,34 +114,36 @@ const UserProfile = () => {
114114 return (
115115 < >
116116 < DropdownMenu >
117- < DropdownMenuTrigger asChild >
118- < SidebarMenuButton
119- aria-label = { `User menu for ${ user . displayName } ` }
120- className = "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
121- size = { isCollapsed ? 'md' : 'lg' }
122- tooltip = { isCollapsed ? user . displayName : undefined }
123- >
124- < Avatar className = { isCollapsed ? 'h-7 w-7 shrink-0' : 'h-8 w-8 shrink-0' } >
125- < AvatarImage alt = "" src = { user . avatarUrl } />
126- < AvatarFallback aria-hidden = "true" className = "bg-primary font-medium text-primary-foreground text-xs" >
127- { initials }
128- </ AvatarFallback >
129- </ Avatar >
130- { ! isCollapsed && (
131- < >
132- < div className = "grid flex-1 text-left leading-tight" >
133- < Text as = "span" className = "truncate" variant = "label" >
134- { user . displayName }
135- </ Text >
136- < Text as = "span" className = "truncate text-sidebar-foreground/60" variant = "muted" >
137- Preferences
138- </ Text >
139- </ div >
140- < ChevronUp aria-hidden = "true" className = "ml-auto size-4" />
141- </ >
142- ) }
143- </ SidebarMenuButton >
144- </ DropdownMenuTrigger >
117+ < DropdownMenuTrigger
118+ render = {
119+ < SidebarMenuButton
120+ aria-label = { `User menu for ${ user . displayName } ` }
121+ className = "data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground"
122+ size = { isCollapsed ? 'default' : 'lg' }
123+ tooltip = { isCollapsed ? user . displayName : undefined }
124+ >
125+ < Avatar className = { isCollapsed ? 'h-7 w-7 shrink-0' : 'h-8 w-8 shrink-0' } >
126+ < AvatarImage alt = "" src = { user . avatarUrl } />
127+ < AvatarFallback aria-hidden = "true" className = "bg-primary font-medium text-primary-foreground text-xs" >
128+ { initials }
129+ </ AvatarFallback >
130+ </ Avatar >
131+ { ! isCollapsed && (
132+ < >
133+ < div className = "grid flex-1 text-left leading-tight" >
134+ < Text as = "span" className = "truncate" variant = "label" >
135+ { user . displayName }
136+ </ Text >
137+ < Text as = "span" className = "truncate text-sidebar-foreground/60" variant = "muted" >
138+ Preferences
139+ </ Text >
140+ </ div >
141+ < ChevronUp aria-hidden = "true" className = "ml-auto size-4" />
142+ </ >
143+ ) }
144+ </ SidebarMenuButton >
145+ }
146+ />
145147 < DropdownMenuContent align = "end" className = "w-56 rounded-lg" side = { isMobile ? 'bottom' : 'top' } >
146148 < DropdownMenuLabel >
147149 < div className = "flex flex-col" >
@@ -175,7 +177,6 @@ const UserProfile = () => {
175177 </ DropdownMenuItem >
176178 </ DropdownMenuContent >
177179 </ DropdownMenu >
178-
179180 < UserPreferencesDialog isOpen = { preferencesOpen } onClose = { ( ) => setPreferencesOpen ( false ) } />
180181 </ >
181182 ) ;
@@ -203,19 +204,17 @@ function SidebarNavItem({ item, isActive, onNavClick }: NavItemProps) {
203204 < SidebarMenuButton
204205 aria-current = { isActive ? 'page' : undefined }
205206 aria-disabled = { item . isDisabled }
206- asChild = { ! item . isDisabled }
207207 className = { item . isDisabled ? 'cursor-not-allowed opacity-50' : '' }
208208 disabled = { item . isDisabled }
209209 isActive = { isActive }
210+ render = {
211+ item . isDisabled ? undefined : (
212+ < Link aria-current = { isActive ? 'page' : undefined } onClick = { onNavClick } to = { item . to } />
213+ )
214+ }
210215 tooltip = { item . isDisabled ? { children : item . disabledText } : titleString }
211216 >
212- { item . isDisabled ? (
213- < span className = "flex items-center gap-2" > { itemContent } </ span >
214- ) : (
215- < Link aria-current = { isActive ? 'page' : undefined } onClick = { onNavClick } to = { item . to } >
216- { itemContent }
217- </ Link >
218- ) }
217+ { item . isDisabled ? < span className = "flex items-center gap-2" > { itemContent } </ span > : itemContent }
219218 </ SidebarMenuButton >
220219 </ SidebarMenuItem >
221220 ) ;
0 commit comments