From 5cf817e9de1a1197681f395684ea52c443ddfac4 Mon Sep 17 00:00:00 2001 From: DhanushSantosh Date: Fri, 23 Jan 2026 18:21:15 +0530 Subject: [PATCH] fix: drive usage indicator by active provider window --- apps/ui/src/components/usage-popover.tsx | 37 +++++++++++++----------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/apps/ui/src/components/usage-popover.tsx b/apps/ui/src/components/usage-popover.tsx index d2f37f7b..5515d7af 100644 --- a/apps/ui/src/components/usage-popover.tsx +++ b/apps/ui/src/components/usage-popover.tsx @@ -244,23 +244,26 @@ export function UsagePopover() { return 'bg-green-500'; }; - // Determine which provider icon and percentage to show on the header button - const hasClaudeUsage = Boolean(claudeUsage); - const hasCodexUsage = Boolean(codexUsage); - const useClaudeIndicator = hasClaudeUsage || (!hasCodexUsage && isClaudeAuthenticated); - const indicatorInfo = useClaudeIndicator - ? { - icon: AnthropicIcon, - percentage: claudeSessionPercentage, - isStale: isClaudeStale, - title: `Session usage (${CLAUDE_SESSION_WINDOW_HOURS}h window)`, - } - : { - icon: OpenAIIcon, - percentage: codexMaxPercentage, - isStale: isCodexStale, - title: 'Usage', - }; + const codexWindowMinutes = codexUsage?.rateLimits?.primary?.windowDurationMins ?? null; + const codexWindowLabel = codexWindowMinutes + ? getCodexWindowLabel(codexWindowMinutes).title + : 'Window'; + + // Determine which provider icon and percentage to show based on active tab + const indicatorInfo = + activeTab === 'claude' + ? { + icon: AnthropicIcon, + percentage: claudeSessionPercentage, + isStale: isClaudeStale, + title: `Session usage (${CLAUDE_SESSION_WINDOW_HOURS}h window)`, + } + : { + icon: OpenAIIcon, + percentage: codexMaxPercentage, + isStale: isCodexStale, + title: `Usage (${codexWindowLabel})`, + }; const statusColor = getStatusInfo(indicatorInfo.percentage).color; const ProviderIcon = indicatorInfo.icon;