fix(web): keep extension market navigable at quota (#2390)

Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
This commit is contained in:
Hyu
2026-08-03 20:10:46 +08:00
committed by GitHub
parent f0b2c103c1
commit 6bad7bcffc
5 changed files with 22 additions and 27 deletions
@@ -543,33 +543,19 @@ function NavItems({
if (config.id === 'add-extension' && !canManageResources) {
return null;
}
const quota =
config.id === 'add-extension'
? quotaStatus.extensions
: UNLIMITED_QUOTA;
// Non-entity entries (e.g. monitoring and the extension market) render as plain links.
return (
<SidebarMenuItem key={config.id}>
<WorkspaceQuotaTooltip
quota={quota}
resource={config.name}
side="right"
<SidebarMenuButton
isActive={selectedChild?.id === config.id}
onClick={() => onChildClick(config)}
tooltip={config.name}
>
<SidebarMenuButton
isActive={selectedChild?.id === config.id}
onClick={() => {
if (!quota.disabled) onChildClick(config);
}}
disabled={quota.disabled}
aria-disabled={quota.disabled}
tooltip={quota.disabled ? undefined : config.name}
>
{config.icon}
<span className="cursor-pointer select-none">
{config.name}
</span>
</SidebarMenuButton>
</WorkspaceQuotaTooltip>
{config.icon}
<span className="cursor-pointer select-none">
{config.name}
</span>
</SidebarMenuButton>
</SidebarMenuItem>
);
}
@@ -39,7 +39,7 @@ export function WorkspaceQuotaTooltip({
{children}
</span>
</TooltipTrigger>
<TooltipContent side={side} className="max-w-72 text-center">
<TooltipContent side={side} className="max-w-72 text-left">
{message}
</TooltipContent>
</Tooltip>
@@ -399,7 +399,7 @@ export default function PluginMarketCardComponent({
<TooltipProvider delayDuration={200}>
<Tooltip>
<TooltipTrigger asChild>{cardContent}</TooltipTrigger>
<TooltipContent side="top" className="max-w-72 text-center">
<TooltipContent side="top" className="max-w-72 text-left">
{installDisabledTooltip}
</TooltipContent>
</Tooltip>