From 8d90418c9ee7ba621e0c7885bc976d3559eea65e Mon Sep 17 00:00:00 2001 From: Juan Castro Date: Fri, 11 Sep 2026 18:00:53 -0400 Subject: [PATCH] fix: don't offer a seat a plan link it cannot use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Usage card's Upgrade link relabels to "Manage →" for anyone on a plan, including a seat whose plan is its team's. Following it only reaches a dialog saying so. Hidden for a seat, unchanged for everyone else. --- src/gui/src/UI/Dashboard/TabHome.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/src/UI/Dashboard/TabHome.js b/src/gui/src/UI/Dashboard/TabHome.js index 2782ef623..607e47f31 100644 --- a/src/gui/src/UI/Dashboard/TabHome.js +++ b/src/gui/src/UI/Dashboard/TabHome.js @@ -21,6 +21,7 @@ import UIWindowSaveAccount from '../UIWindowSaveAccount.js'; import { formatCredits, formatDollarsFromMicrocents, usageIsCredits } from './credits.js'; import { usageBudget } from './usageBudget.js'; import { appIconAttrs } from '../../helpers/appIcon.js'; +import { isOrgSeat } from './orgSeat.js'; // How long a completed usage load stays fresh enough to skip a repeat. Long // enough to absorb the init/onActivate/routing burst on a single dashboard @@ -519,6 +520,11 @@ const TabHome = { $el_window.find('.bento-plan-upgrade').text('Upgrade →').show(); } + // A seat's plan is the team's; the link only reaches a refusal. + if ( isOrgSeat(window.user) ) { + $el_window.find('.bento-plan-upgrade').hide(); + } + $el_window .find('.bento-plan-upgrade') .off('click.billing')