From af6bc15930a98c03a987ef251056a26bf2d6a8d2 Mon Sep 17 00:00:00 2001 From: Christiaan Arnoldus Date: Wed, 29 Oct 2025 22:27:36 +0100 Subject: [PATCH] Add using kilo for work button --- webview-ui/src/components/chat/ChatRow.tsx | 7 +++++- .../kilocode/chat/LowCreditWarning.tsx | 22 +++++++++++++++---- webview-ui/src/i18n/locales/ar/kilocode.json | 3 ++- webview-ui/src/i18n/locales/ca/kilocode.json | 3 ++- webview-ui/src/i18n/locales/cs/kilocode.json | 3 ++- webview-ui/src/i18n/locales/de/kilocode.json | 3 ++- webview-ui/src/i18n/locales/en/kilocode.json | 3 ++- webview-ui/src/i18n/locales/es/kilocode.json | 3 ++- webview-ui/src/i18n/locales/fr/kilocode.json | 3 ++- webview-ui/src/i18n/locales/hi/kilocode.json | 3 ++- webview-ui/src/i18n/locales/id/kilocode.json | 3 ++- webview-ui/src/i18n/locales/it/kilocode.json | 3 ++- webview-ui/src/i18n/locales/ja/kilocode.json | 3 ++- webview-ui/src/i18n/locales/ko/kilocode.json | 3 ++- webview-ui/src/i18n/locales/nl/kilocode.json | 3 ++- webview-ui/src/i18n/locales/pl/kilocode.json | 3 ++- .../src/i18n/locales/pt-BR/kilocode.json | 3 ++- webview-ui/src/i18n/locales/ru/kilocode.json | 3 ++- webview-ui/src/i18n/locales/th/kilocode.json | 3 ++- webview-ui/src/i18n/locales/tr/kilocode.json | 3 ++- webview-ui/src/i18n/locales/uk/kilocode.json | 3 ++- webview-ui/src/i18n/locales/vi/kilocode.json | 3 ++- .../src/i18n/locales/zh-CN/kilocode.json | 3 ++- .../src/i18n/locales/zh-TW/kilocode.json | 3 ++- 24 files changed, 68 insertions(+), 27 deletions(-) diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index 0f279799f2f..40c489eae74 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -1629,7 +1629,12 @@ export const ChatRowContent = ({ ) case "payment_required_prompt": { - return + return ( + + ) } case "invalid_model": { return diff --git a/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx b/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx index e7fca1ae43c..20b9ad75fd3 100644 --- a/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx +++ b/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx @@ -1,13 +1,15 @@ -import { ClineMessage } from "@roo-code/types" +import { ClineMessage, getAppUrl, TelemetryEventName } from "@roo-code/types" import { vscode } from "@src/utils/vscode" import { VSCodeButton } from "@vscode/webview-ui-toolkit/react" import { RetryIconButton } from "../common/RetryIconButton" import styled from "styled-components" import { useTranslation } from "react-i18next" -import { FreeModelsLink } from "../FreeModelsLink" +import { VSCodeButtonLink } from "@/components/common/VSCodeButtonLink" +import { telemetryClient } from "@/utils/TelemetryClient" type LowCreditWarningProps = { message: ClineMessage + isOrganization: boolean } const HeaderContainer = styled.div` @@ -24,7 +26,7 @@ const Description = styled.div` overflow-wrap: anywhere; ` -export const LowCreditWarning = ({ message }: LowCreditWarningProps) => { +export const LowCreditWarning = ({ message, isOrganization }: LowCreditWarningProps) => { const { t } = useTranslation() let data = { title: "Error", message: "Payment required.", balance: "-?.??", buyCreditsUrl: "" } @@ -77,7 +79,19 @@ export const LowCreditWarning = ({ message }: LowCreditWarningProps) => { }}> {t("kilocode:lowCreditWarning.addCredit")} - + {!isOrganization && ( + { + telemetryClient.capture(TelemetryEventName.CREATE_ORGANIZATION_LINK_CLICKED, { + origin: "low-credit-warning", + }) + }} + href={getAppUrl("/organizations/new")} + appearance="primary" + className="p-1 w-full rounded"> + {t("kilocode:lowCreditWarning.newOrganization")} + + )} ) diff --git a/webview-ui/src/i18n/locales/ar/kilocode.json b/webview-ui/src/i18n/locales/ar/kilocode.json index 1ffe6cccffe..7cf68dd58d1 100644 --- a/webview-ui/src/i18n/locales/ar/kilocode.json +++ b/webview-ui/src/i18n/locales/ar/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "شحن الرصيد", - "lowBalance": "رصيدك في Kilo Code منخفض" + "lowBalance": "رصيدك في Kilo Code منخفض", + "newOrganization": "تستخدم Kilo للعمل؟" }, "memoryWarning": { "message": "استخدام الذاكرة عند {{percentage}}%. يرجى إعادة تشغيل بيئة التطوير لمنع التعطل." diff --git a/webview-ui/src/i18n/locales/ca/kilocode.json b/webview-ui/src/i18n/locales/ca/kilocode.json index 9bc6f76c9fc..b57e3bb6ce4 100644 --- a/webview-ui/src/i18n/locales/ca/kilocode.json +++ b/webview-ui/src/i18n/locales/ca/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Afegir crèdit", - "lowBalance": "El teu saldo de Kilo Code és baix" + "lowBalance": "El teu saldo de Kilo Code és baix", + "newOrganization": "Utilitzes Kilo per a la feina?" }, "pagination": { "previous": "Anterior", diff --git a/webview-ui/src/i18n/locales/cs/kilocode.json b/webview-ui/src/i18n/locales/cs/kilocode.json index 9963ea2747d..84281ab147b 100644 --- a/webview-ui/src/i18n/locales/cs/kilocode.json +++ b/webview-ui/src/i18n/locales/cs/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Přidat kredit", - "lowBalance": "Tvůj Kilo Code zůstatek je nízký" + "lowBalance": "Tvůj Kilo Code zůstatek je nízký", + "newOrganization": "Používáš Kilo pro práci?" }, "pagination": { "previous": "Předchozí", diff --git a/webview-ui/src/i18n/locales/de/kilocode.json b/webview-ui/src/i18n/locales/de/kilocode.json index 11df81edda1..f2e82dcda76 100644 --- a/webview-ui/src/i18n/locales/de/kilocode.json +++ b/webview-ui/src/i18n/locales/de/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Guthaben hinzufügen", - "lowBalance": "Ihr Kilo Code Guthaben ist niedrig" + "lowBalance": "Ihr Kilo Code Guthaben ist niedrig", + "newOrganization": "Verwendest du Kilo für die Arbeit?" }, "pagination": { "previous": "Zurück", diff --git a/webview-ui/src/i18n/locales/en/kilocode.json b/webview-ui/src/i18n/locales/en/kilocode.json index 619ebb333b6..679b71c4d1f 100644 --- a/webview-ui/src/i18n/locales/en/kilocode.json +++ b/webview-ui/src/i18n/locales/en/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Add Credit", - "lowBalance": "Your Kilo Code balance is low" + "lowBalance": "Your Kilo Code balance is low", + "newOrganization": "Using Kilo for work?" }, "memoryWarning": { "message": "Memory usage is at {{percentage}}%. Please restart your IDE to prevent crashes." diff --git a/webview-ui/src/i18n/locales/es/kilocode.json b/webview-ui/src/i18n/locales/es/kilocode.json index e24bf63ba39..9f8229a0cac 100644 --- a/webview-ui/src/i18n/locales/es/kilocode.json +++ b/webview-ui/src/i18n/locales/es/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Añadir Crédito", - "lowBalance": "Tu saldo de Kilo Code es bajo" + "lowBalance": "Tu saldo de Kilo Code es bajo", + "newOrganization": "¿Usas Kilo para el trabajo?" }, "pagination": { "previous": "Anterior", diff --git a/webview-ui/src/i18n/locales/fr/kilocode.json b/webview-ui/src/i18n/locales/fr/kilocode.json index 81e1a031868..54733ace9db 100644 --- a/webview-ui/src/i18n/locales/fr/kilocode.json +++ b/webview-ui/src/i18n/locales/fr/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Ajouter du crédit", - "lowBalance": "Votre solde Kilo Code est bas" + "lowBalance": "Votre solde Kilo Code est bas", + "newOrganization": "Vous utilisez Kilo pour le travail ?" }, "pagination": { "previous": "Précédent", diff --git a/webview-ui/src/i18n/locales/hi/kilocode.json b/webview-ui/src/i18n/locales/hi/kilocode.json index ce5499f4f3d..e8ba3095eb3 100644 --- a/webview-ui/src/i18n/locales/hi/kilocode.json +++ b/webview-ui/src/i18n/locales/hi/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "क्रेडिट जोड़ें", - "lowBalance": "आपका Kilo Code बैलेंस कम है" + "lowBalance": "आपका Kilo Code बैलेंस कम है", + "newOrganization": "काम के लिए Kilo उपयोग कर रहे हैं?" }, "pagination": { "previous": "पिछला", diff --git a/webview-ui/src/i18n/locales/id/kilocode.json b/webview-ui/src/i18n/locales/id/kilocode.json index b963958f48c..871cdc6a05b 100644 --- a/webview-ui/src/i18n/locales/id/kilocode.json +++ b/webview-ui/src/i18n/locales/id/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Tambah Kredit", - "lowBalance": "Saldo Kilo Code kamu rendah" + "lowBalance": "Saldo Kilo Code kamu rendah", + "newOrganization": "Menggunakan Kilo untuk pekerjaan?" }, "pagination": { "previous": "Sebelumnya", diff --git a/webview-ui/src/i18n/locales/it/kilocode.json b/webview-ui/src/i18n/locales/it/kilocode.json index 5ac348ad15a..c9cd08004a6 100644 --- a/webview-ui/src/i18n/locales/it/kilocode.json +++ b/webview-ui/src/i18n/locales/it/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Aggiungi credito", - "lowBalance": "Il tuo saldo Kilo Code è basso" + "lowBalance": "Il tuo saldo Kilo Code è basso", + "newOrganization": "Usi Kilo per lavoro?" }, "pagination": { "previous": "Precedente", diff --git a/webview-ui/src/i18n/locales/ja/kilocode.json b/webview-ui/src/i18n/locales/ja/kilocode.json index 4869ff65b6a..c571bf79397 100644 --- a/webview-ui/src/i18n/locales/ja/kilocode.json +++ b/webview-ui/src/i18n/locales/ja/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "クレジットを追加", - "lowBalance": "Kilo Codeの残高が少なくなっています" + "lowBalance": "Kilo Codeの残高が少なくなっています", + "newOrganization": "仕事でKiloを使用していますか?" }, "pagination": { "previous": "前へ", diff --git a/webview-ui/src/i18n/locales/ko/kilocode.json b/webview-ui/src/i18n/locales/ko/kilocode.json index 6e7f2505aea..fd0484c1e6c 100644 --- a/webview-ui/src/i18n/locales/ko/kilocode.json +++ b/webview-ui/src/i18n/locales/ko/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "크레딧 추가", - "lowBalance": "Kilo Code 잔액이 부족합니다" + "lowBalance": "Kilo Code 잔액이 부족합니다", + "newOrganization": "업무용으로 Kilo를 사용하시나요?" }, "pagination": { "previous": "이전", diff --git a/webview-ui/src/i18n/locales/nl/kilocode.json b/webview-ui/src/i18n/locales/nl/kilocode.json index 2e519ea43e4..447239d8d41 100644 --- a/webview-ui/src/i18n/locales/nl/kilocode.json +++ b/webview-ui/src/i18n/locales/nl/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Krediet toevoegen", - "lowBalance": "Uw Kilo Code-saldo is laag" + "lowBalance": "Uw Kilo Code-saldo is laag", + "newOrganization": "Gebruik je Kilo voor werk?" }, "pagination": { "previous": "Vorige", diff --git a/webview-ui/src/i18n/locales/pl/kilocode.json b/webview-ui/src/i18n/locales/pl/kilocode.json index 2d7644237bb..d697af87cde 100644 --- a/webview-ui/src/i18n/locales/pl/kilocode.json +++ b/webview-ui/src/i18n/locales/pl/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Dodaj kredyt", - "lowBalance": "Twój stan konta Kilo Code jest niski" + "lowBalance": "Twój stan konta Kilo Code jest niski", + "newOrganization": "Używasz Kilo do pracy?" }, "pagination": { "previous": "Poprzednia", diff --git a/webview-ui/src/i18n/locales/pt-BR/kilocode.json b/webview-ui/src/i18n/locales/pt-BR/kilocode.json index f978ef2cb46..1a84983e524 100644 --- a/webview-ui/src/i18n/locales/pt-BR/kilocode.json +++ b/webview-ui/src/i18n/locales/pt-BR/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Adicionar crédito", - "lowBalance": "Seu saldo do Kilo Code está baixo" + "lowBalance": "Seu saldo do Kilo Code está baixo", + "newOrganization": "Usando o Kilo para trabalho?" }, "pagination": { "previous": "Anterior", diff --git a/webview-ui/src/i18n/locales/ru/kilocode.json b/webview-ui/src/i18n/locales/ru/kilocode.json index a5c5cd0adbf..4c944ea23d1 100644 --- a/webview-ui/src/i18n/locales/ru/kilocode.json +++ b/webview-ui/src/i18n/locales/ru/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Добавить кредит", - "lowBalance": "Ваш баланс Kilo Code низкий" + "lowBalance": "Ваш баланс Kilo Code низкий", + "newOrganization": "Используете Kilo для работы?" }, "pagination": { "previous": "Предыдущая", diff --git a/webview-ui/src/i18n/locales/th/kilocode.json b/webview-ui/src/i18n/locales/th/kilocode.json index c36c3d4ca11..42ad4b68fc9 100644 --- a/webview-ui/src/i18n/locales/th/kilocode.json +++ b/webview-ui/src/i18n/locales/th/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "เติมเครดิต", - "lowBalance": "ยอดเงิน Kilo Code ของคุณเหลือน้อย" + "lowBalance": "ยอดเงิน Kilo Code ของคุณเหลือน้อย", + "newOrganization": "ใช้ Kilo เพื่อการทำงาน?" }, "pagination": { "previous": "ก่อนหน้า", diff --git a/webview-ui/src/i18n/locales/tr/kilocode.json b/webview-ui/src/i18n/locales/tr/kilocode.json index c96ae620478..94060f0ab80 100644 --- a/webview-ui/src/i18n/locales/tr/kilocode.json +++ b/webview-ui/src/i18n/locales/tr/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Kredi Ekle", - "lowBalance": "Kilo Code bakiyeniz düşük" + "lowBalance": "Kilo Code bakiyeniz düşük", + "newOrganization": "İş için mi kullanıyorsun?" }, "pagination": { "previous": "Önceki", diff --git a/webview-ui/src/i18n/locales/uk/kilocode.json b/webview-ui/src/i18n/locales/uk/kilocode.json index f623489fcd0..8558f499745 100644 --- a/webview-ui/src/i18n/locales/uk/kilocode.json +++ b/webview-ui/src/i18n/locales/uk/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Додати кредит", - "lowBalance": "Твій баланс Kilo Code низький" + "lowBalance": "Твій баланс Kilo Code низький", + "newOrganization": "Використовуєш Kilo для роботи?" }, "pagination": { "previous": "Попередня", diff --git a/webview-ui/src/i18n/locales/vi/kilocode.json b/webview-ui/src/i18n/locales/vi/kilocode.json index 2b7c92e9bbc..93e0204f179 100644 --- a/webview-ui/src/i18n/locales/vi/kilocode.json +++ b/webview-ui/src/i18n/locales/vi/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "Thêm tín dụng", - "lowBalance": "Số dư Kilo Code của bạn thấp" + "lowBalance": "Số dư Kilo Code của bạn thấp", + "newOrganization": "Sử dụng Kilo cho công việc?" }, "pagination": { "previous": "Trước", diff --git a/webview-ui/src/i18n/locales/zh-CN/kilocode.json b/webview-ui/src/i18n/locales/zh-CN/kilocode.json index c02dfca2551..6ce088e483d 100644 --- a/webview-ui/src/i18n/locales/zh-CN/kilocode.json +++ b/webview-ui/src/i18n/locales/zh-CN/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "添加额度", - "lowBalance": "你的 Kilo Code 余额不足" + "lowBalance": "你的 Kilo Code 余额不足", + "newOrganization": "在工作中使用 Kilo?" }, "pagination": { "previous": "上一页", diff --git a/webview-ui/src/i18n/locales/zh-TW/kilocode.json b/webview-ui/src/i18n/locales/zh-TW/kilocode.json index a1f3cfa8fb8..7e9ac26903f 100644 --- a/webview-ui/src/i18n/locales/zh-TW/kilocode.json +++ b/webview-ui/src/i18n/locales/zh-TW/kilocode.json @@ -11,7 +11,8 @@ }, "lowCreditWarning": { "addCredit": "添加額度", - "lowBalance": "你的 Kilo Code 餘額不足" + "lowBalance": "你的 Kilo Code 餘額不足", + "newOrganization": "將 Kilo 用於工作?" }, "invalidModel": { "alphaPeriodEnded": "🎉 {{model}} 的測試期已結束!請切換到其他模型繼續使用。",