Skip to content

Commit e17c2e6

Browse files
committed
Add support for "balance display" used by OpenRouter and Requesty providers
Signed-off-by: Geoff Wilson <[email protected]>
1 parent 436025f commit e17c2e6

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

webview-ui/src/components/settings/ApiKey.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useState } from "react"
1+
import { useState, ReactNode } from "react"
22
import { Checkbox } from "vscrui"
33
import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
44
import { VSCodeButtonLink } from "@src/components/common/VSCodeButtonLink"
@@ -14,6 +14,7 @@ type ApiKeyProps = {
1414
getApiKeyUrl?: string
1515
getApiKeyLabel?: string
1616
disabled?: boolean
17+
balanceDisplay?: ReactNode
1718
}
1819

1920
export const ApiKey = ({
@@ -26,6 +27,7 @@ export const ApiKey = ({
2627
getApiKeyUrl,
2728
getApiKeyLabel,
2829
disabled = false,
30+
balanceDisplay,
2931
}: ApiKeyProps) => {
3032

3133
const env = (window as any).PROCESS_ENV || {}
@@ -46,7 +48,10 @@ export const ApiKey = ({
4648
placeholder={t("settings:placeholders.apiKey")}
4749
className="w-full"
4850
disabled={useEnvVar || disabled}>
49-
<label className="block font-medium mb-1">{apiKeyLabel}</label>
51+
<div className="flex justify-between items-center mb-1">
52+
<label className="block font-medium">{apiKeyLabel}</label>
53+
{apiKey && balanceDisplay && balanceDisplay}
54+
</div>
5055
</VSCodeTextField>
5156
<div className="text-sm text-vscode-descriptionForeground -mt-2">
5257
{t("settings:providers.apiKeyStorageNotice")}

webview-ui/src/components/settings/providers/OpenRouter.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ export const OpenRouter = ({
6262
apiKeyLabel={t("settings:providers.openRouterApiKey")}
6363
getApiKeyUrl={getOpenRouterAuthUrl(uriScheme)}
6464
getApiKeyLabel={t("settings:providers.getOpenRouterApiKey")}
65+
balanceDisplay={apiConfiguration?.openRouterApiKey && (
66+
<OpenRouterBalanceDisplay
67+
apiKey={apiConfiguration.openRouterApiKey}
68+
baseUrl={apiConfiguration.openRouterBaseUrl}
69+
/>
70+
)}
6571
/>
6672
{!fromWelcomeView && (
6773
<>

webview-ui/src/components/settings/providers/Requesty.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ export const Requesty = ({
5858
apiKeyLabel={t("settings:providers.requestyApiKey")}
5959
getApiKeyUrl="https://app.requesty.ai/api-keys"
6060
getApiKeyLabel={t("settings:providers.getRequestyApiKey")}
61+
balanceDisplay={apiConfiguration?.requestyApiKey && (
62+
<RequestyBalanceDisplay apiKey={apiConfiguration.requestyApiKey} />
63+
)}
6164
/>
6265
<Button
6366
variant="outline"

0 commit comments

Comments
 (0)