Skip to content

Commit a054800

Browse files
committed
feat(cli): add hover effect to usage banner close button
The close button 'x' now appears gray (muted) by default and turns red (error) when hovered. Hover state is properly reset when banner closes.
1 parent 5ace012 commit a054800

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

cli/src/components/usage-banner.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export const UsageBanner = () => {
1717
const isUsageVisible = useChatStore((state) => state.isUsageVisible)
1818
const sessionCreditsUsed = useChatStore((state) => state.sessionCreditsUsed)
1919
const setIsUsageVisible = useChatStore((state) => state.setIsUsageVisible)
20+
const [isCloseHovered, setIsCloseHovered] = React.useState(false)
2021

2122
// Fetch usage data when banner is visible
2223
const { data: apiData } = useUsageQuery({ enabled: isUsageVisible })
@@ -37,6 +38,9 @@ export const UsageBanner = () => {
3738
setIsUsageVisible(false)
3839
}, 60000)
3940
return () => clearTimeout(timer)
41+
} else {
42+
// Reset hover state when banner closes
43+
setIsCloseHovered(false)
4044
}
4145
return undefined
4246
}, [isUsageVisible, setIsUsageVisible])
@@ -125,8 +129,12 @@ export const UsageBanner = () => {
125129
>
126130
{text}
127131
</text>
128-
<Button onClick={() => setIsUsageVisible(false)}>
129-
<text style={{ fg: theme.error }}>x</text>
132+
<Button
133+
onClick={() => setIsUsageVisible(false)}
134+
onMouseOver={() => setIsCloseHovered(true)}
135+
onMouseOut={() => setIsCloseHovered(false)}
136+
>
137+
<text style={{ fg: isCloseHovered ? theme.error : theme.muted }}>x</text>
130138
</Button>
131139
</box>
132140
)

0 commit comments

Comments
 (0)