From 0b85203edb99ffb0b0ae9dfba28046e6fe481be7 Mon Sep 17 00:00:00 2001 From: Juan Castro Date: Wed, 16 Sep 2026 15:55:52 -0400 Subject: [PATCH] feat: tell the plan picker when a seat's plan is on the way out The billing view now names each seat's status; the console passes it through to the picker so a cancel-pending plan can be kept, plus the two strings that flow renders. --- src/gui/src/UI/Dashboard/TabTeams.js | 2 ++ src/gui/src/i18n/translations/en.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/gui/src/UI/Dashboard/TabTeams.js b/src/gui/src/UI/Dashboard/TabTeams.js index 081a867a4..9141c354c 100644 --- a/src/gui/src/UI/Dashboard/TabTeams.js +++ b/src/gui/src/UI/Dashboard/TabTeams.js @@ -353,6 +353,7 @@ const loadPlan = async (teamUid) => { status: 'ready', offerings: Array.isArray(cat.offerings) ? cat.offerings : [], seatTiers: entry?.seatTiers ?? {}, + seatStatuses: entry?.seatStatuses ?? {}, tierQuantities: entry?.tierQuantities ?? {}, subStatus: entry?.status ?? null, }; @@ -370,6 +371,7 @@ const changeSeatPlan = ($el_window, username, uuid) => { seatUuid: uuid, username, currentTier: state.plan.seatTiers?.[uuid] ?? null, + currentStatus: state.plan.seatStatuses?.[uuid] ?? null, onDone: () => refresh($el_window), }, })); diff --git a/src/gui/src/i18n/translations/en.js b/src/gui/src/i18n/translations/en.js index d9cd44e70..57fe3a89f 100644 --- a/src/gui/src/i18n/translations/en.js +++ b/src/gui/src/i18n/translations/en.js @@ -567,6 +567,8 @@ const en = { teams_upgrade_to: 'Upgrade to %%', teams_switch_to: 'Switch to %%', teams_switch_to_free: 'Switch to Free', + teams_keep_plan: 'Keep %%', + teams_plan_ending: 'Ends with the current period', teams_cancel_keeps_until: 'Done. The plan stays active until the end of the period it was paid for, then the account moves to Free.', teams_audit_range: '{{from}}–{{to}} of {{total}}', previous: 'Previous',