Skip to content

Commit b5f2a04

Browse files
Add refill link to out-of-credits error message (#8737)
Co-authored-by: openhands <[email protected]>
1 parent 155615b commit b5f2a04

File tree

3 files changed

+37
-22
lines changed

3 files changed

+37
-22
lines changed

frontend/src/components/features/chat/chat-interface.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import { downloadTrajectory } from "#/utils/download-trajectory";
2626
import { displayErrorToast } from "#/utils/custom-toast-handlers";
2727
import { useOptimisticUserMessage } from "#/hooks/use-optimistic-user-message";
2828
import { useWSErrorMessage } from "#/hooks/use-ws-error-message";
29-
import i18n from "#/i18n";
3029
import { ErrorMessageBanner } from "./error-message-banner";
3130
import { shouldRenderEvent } from "./event-content-helpers/should-render-event";
3231

@@ -181,11 +180,7 @@ export function ChatInterface() {
181180
{!hitBottom && <ScrollToBottomButton onClick={scrollDomToBottom} />}
182181
</div>
183182

184-
{errorMessage && (
185-
<ErrorMessageBanner
186-
message={i18n.exists(errorMessage) ? t(errorMessage) : errorMessage}
187-
/>
188-
)}
183+
{errorMessage && <ErrorMessageBanner message={errorMessage} />}
189184

190185
<InteractiveChatBox
191186
onSubmit={handleSendMessage}
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,31 @@
1+
import { Trans } from "react-i18next";
2+
import { Link } from "react-router";
3+
import i18n from "#/i18n";
4+
15
interface ErrorMessageBannerProps {
26
message: string;
37
}
48

59
export function ErrorMessageBanner({ message }: ErrorMessageBannerProps) {
610
return (
711
<div className="w-full rounded-lg p-2 text-black border border-red-800 bg-red-500">
8-
{message}
12+
{i18n.exists(message) ? (
13+
<Trans
14+
i18nKey={message}
15+
components={{
16+
a: (
17+
<Link
18+
className="underline font-bold cursor-pointer"
19+
to="/settings/billing"
20+
>
21+
link
22+
</Link>
23+
),
24+
}}
25+
/>
26+
) : (
27+
message
28+
)}
929
</div>
1030
);
1131
}

frontend/src/i18n/translation.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6400,20 +6400,20 @@
64006400
"uk": "Запит не вдалося виконати через внутрішню помилку сервера."
64016401
},
64026402
"STATUS$ERROR_LLM_OUT_OF_CREDITS": {
6403-
"en": "You're out of OpenHands Credits",
6404-
"ja": "OpenHandsクレジットが不足しています",
6405-
"zh-CN": "您的OpenHands点数已用完",
6406-
"zh-TW": "您的OpenHands點數已用完",
6407-
"ko-KR": "OpenHands 크레딧이 소진되었습니다",
6408-
"no": "Du er tom for OpenHands-kreditter",
6409-
"it": "Hai esaurito i crediti OpenHands",
6410-
"pt": "Você está sem créditos OpenHands",
6411-
"es": "Te has quedado sin créditos de OpenHands",
6412-
"ar": "لقد نفدت رصيدك من OpenHands",
6413-
"fr": "Vous n'avez plus de crédits OpenHands",
6414-
"tr": "OpenHands kredileriniz tükendi",
6415-
"de": "Ihre OpenHands-Guthaben sind aufgebraucht",
6416-
"uk": "У вас закінчилися кредити OpenHands"
6403+
"en": "You're out of OpenHands Credits. <a>Add funds</a>",
6404+
"ja": "OpenHandsクレジットが不足しています。<a>資金を追加</a>",
6405+
"zh-CN": "您的OpenHands点数已用完。<a>添加资金</a>",
6406+
"zh-TW": "您的OpenHands點數已用完。<a>添加資金</a>",
6407+
"ko-KR": "OpenHands 크레딧이 소진되었습니다. <a>자금 추가</a>",
6408+
"no": "Du er tom for OpenHands-kreditter. <a>Legg til midler</a>",
6409+
"it": "Hai esaurito i crediti OpenHands. <a>Aggiungi fondi</a>",
6410+
"pt": "Você está sem créditos OpenHands. <a>Adicionar fundos</a>",
6411+
"es": "Te has quedado sin créditos de OpenHands. <a>Añadir fondos</a>",
6412+
"ar": "لقد نفدت رصيدك من OpenHands. <a>إضافة رصيد</a>",
6413+
"fr": "Vous n'avez plus de crédits OpenHands. <a>Ajouter des fonds</a>",
6414+
"tr": "OpenHands kredileriniz tükendi. <a>Bakiye ekle</a>",
6415+
"de": "Ihre OpenHands-Guthaben sind aufgebraucht. <a>Guthaben hinzufügen</a>",
6416+
"uk": "У вас закінчилися кредити OpenHands. <a>Додати кошти</a>"
64176417
},
64186418
"STATUS$ERROR_LLM_CONTENT_POLICY_VIOLATION": {
64196419
"en": "Content policy violation. The output was blocked by content filtering policy.",
@@ -8780,7 +8780,7 @@
87808780
"ar": "إرسال...",
87818781
"fr": "Envoi...",
87828782
"tr": "Gönderiliyor...",
8783-
"de": "Senden...",
8783+
"de": "Senden...",
87848784
"uk": "Відправляємо..."
87858785
},
87868786
"FEEDBACK$SUBMITTING_MESSAGE": {

0 commit comments

Comments
 (0)