Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import { VSCodeButton } from "@vscode/webview-ui-toolkit/react" import VSCodeButtonLink from "../common/VSCodeButtonLink" import { StyledCreditDisplay } from "./StyledCreditDisplay" type CreditBalanceProps = { balance: number | null fetchCreditBalance: () => void creditUrl: URL lastFetchTime: number isLoading: boolean } export const CreditBalance = ({ balance, fetchCreditBalance, creditUrl, lastFetchTime, isLoading }: CreditBalanceProps) => { return ( <div className="w-full flex flex-col items-center" title={`Last updated: ${new Date(lastFetchTime).toLocaleTimeString()}`}> <div className="text-sm text-[var(--vscode-descriptionForeground)] mb-3 font-azeret-mono font-light"> CURRENT BALANCE </div> <div className="text-4xl font-bold text-[var(--vscode-foreground)] mb-6 flex items-center gap-2"> {balance === null ? <span>----</span> : <StyledCreditDisplay balance={balance} />} <VSCodeButton appearance="icon" className={`mt-1 ${isLoading ? "animate-spin" : ""}`} disabled={isLoading} onClick={fetchCreditBalance}> <span className="codicon codicon-refresh"></span> </VSCodeButton> </div> <div className="w-full"> <VSCodeButtonLink className="w-full" href={creditUrl.href}> Add Credits </VSCodeButtonLink> </div> </div> ) } |