From 31a91f609fad4af17f0e4bd3b0f0dbabe8bf2b77 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Wed, 28 Jan 2026 16:31:16 -0500 Subject: [PATCH] feat(ui): add tier badges to account cards - flow-viz: inline tier badge (ULTRA/PRO) with violet/yellow colors - provider-editor: tier badge on avatar corner (U/P) - subtle design with low opacity backgrounds --- .../account/flow-viz/account-card.tsx | 43 +++++++++++++++---- .../cliproxy/provider-editor/account-item.tsx | 41 ++++++++++-------- 2 files changed, 57 insertions(+), 27 deletions(-) diff --git a/ui/src/components/account/flow-viz/account-card.tsx b/ui/src/components/account/flow-viz/account-card.tsx index 0b957e3b..110d6f8a 100644 --- a/ui/src/components/account/flow-viz/account-card.tsx +++ b/ui/src/components/account/flow-viz/account-card.tsx @@ -99,6 +99,10 @@ export function AccountCard({ // Show minimum quota of Claude models (primary), fallback to min of all models const minQuota = quota?.success ? getMinClaudeQuota(quota.models) : null; + // Tier badge (AGY only) - show P for Pro, U for Ultra + const showTierBadge = + isAgy && account.tier && account.tier !== 'unknown' && account.tier !== 'free'; + return (
- -
- + {/* Email with tier badge inline */} +
+ + {cleanEmail(account.email)} + + {showTierBadge && ( + + {account.tier} + )} - > - {cleanEmail(account.email)} - +
+ + {/* Pause/Resume button */} {onPauseToggle && ( @@ -167,7 +188,11 @@ export function AccountCard({ )} + + {/* Drag handle */} +
+ )} -
+
+ +
+ {/* Tier badge - fixed position on avatar */} + {account.tier && account.tier !== 'unknown' && account.tier !== 'free' && ( + + {account.tier === 'ultra' ? 'U' : 'P'} + )} - > -
@@ -200,18 +217,6 @@ export function AccountItem({ Default )} - {account.tier && account.tier !== 'unknown' && ( - - {account.tier} - - )} {account.paused && (