From de74b0c4886e2459fdc3f8b0ed7799f670dcc47e Mon Sep 17 00:00:00 2001 From: Juan Castro Date: Fri, 11 Sep 2026 17:44:30 -0400 Subject: [PATCH] fix: name the plan a team bought, not its policy id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `i18n()` echoes a key it has no translation for, and a team tier has none — so a seat's dashboard read "team-basic" where a personal plan reads "Basic". The offering already travels with the subscription, so its display name is right there; `i18n` stays the fallback for the personal tiers that do have keys. --- src/gui/src/UI/Dashboard/TabHome.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/src/UI/Dashboard/TabHome.js b/src/gui/src/UI/Dashboard/TabHome.js index 1cb2d1777..2782ef623 100644 --- a/src/gui/src/UI/Dashboard/TabHome.js +++ b/src/gui/src/UI/Dashboard/TabHome.js @@ -465,7 +465,10 @@ const TabHome = { ? formatTrialEnd(subscription.trialEndsAt) : null; - $el_window.find('.bento-plan-name').text(i18n(planName)); + // A team tier has no translation key, so i18n would echo the id. + $el_window + .find('.bento-plan-name') + .text(subscription?.offering?.name_en || i18n(planName)); // Reset state-dependent classes / warning each (re)render. const $badge = $el_window