feat: Add manual OAuth authorization mode for WebUI (#131)
* feat: add manual OAuth flow support in WebUI * fix: reset add account modal state on close * feat: display custom API key in startup banner * fix: move translations to separate files and optimize import API * fix: remove orphaned model-manager.js and cleanup callback server on manual auth --------- Co-authored-by: Badri Narayanan S <59133612+badrisnarayanan@users.noreply.github.com>
This commit is contained in:
@@ -298,6 +298,24 @@ window.translations.en = {
|
||||
quotaDistribution: "Quota Distribution",
|
||||
resetsIn: "Resets in {time}",
|
||||
noQuotaData: "No quota data available for this account yet.",
|
||||
// Manual OAuth Mode
|
||||
manualMode: "Manual Mode",
|
||||
manualModeDesc: "(for environments where callback cannot reach)",
|
||||
authLinkLabel: "Authorization Link:",
|
||||
linkCopied: "Link copied to clipboard",
|
||||
pasteCallbackLabel: "Paste callback URL or code:",
|
||||
pasteCallbackPlaceholder: "http://localhost:51121/oauth-callback?code=... or 4/0xxx...",
|
||||
completeAuth: "Complete Authorization",
|
||||
authFailed: "Authorization failed",
|
||||
// Import/Export
|
||||
export: "Export",
|
||||
import: "Import",
|
||||
exportAccounts: "Export Accounts",
|
||||
importAccounts: "Import Accounts",
|
||||
exportSuccess: "Exported {count} accounts",
|
||||
exportFailed: "Export failed",
|
||||
importSuccess: "Import complete:",
|
||||
importFailed: "Import failed",
|
||||
// UI Elements
|
||||
pageTitle: "Antigravity Console",
|
||||
live: "Live",
|
||||
|
||||
@@ -337,6 +337,24 @@ window.translations.id = {
|
||||
quotaDistribution: "Distribusi Kuota",
|
||||
resetsIn: "Reset dalam {time}",
|
||||
noQuotaData: "Data kuota belum tersedia untuk akun ini.",
|
||||
// Manual OAuth Mode
|
||||
manualMode: "Mode Manual",
|
||||
manualModeDesc: "(untuk lingkungan di mana callback tidak bisa dicapai)",
|
||||
authLinkLabel: "Link Otorisasi:",
|
||||
linkCopied: "Link disalin ke clipboard",
|
||||
pasteCallbackLabel: "Tempel callback URL atau kode:",
|
||||
pasteCallbackPlaceholder: "http://localhost:51121/oauth-callback?code=... atau 4/0xxx...",
|
||||
completeAuth: "Selesaikan Otorisasi",
|
||||
authFailed: "Otorisasi gagal",
|
||||
// Import/Export
|
||||
export: "Ekspor",
|
||||
import: "Impor",
|
||||
exportAccounts: "Ekspor Akun",
|
||||
importAccounts: "Impor Akun",
|
||||
exportSuccess: "Berhasil mengekspor {count} akun",
|
||||
exportFailed: "Gagal mengekspor",
|
||||
importSuccess: "Impor selesai:",
|
||||
importFailed: "Gagal mengimpor",
|
||||
|
||||
// Completed TODOs
|
||||
pageTitle: "Antigravity Console",
|
||||
|
||||
@@ -271,6 +271,29 @@ window.translations.pt = {
|
||||
gemini1mDesc: "Adiciona sufixo [1m] aos modelos Gemini para suporte a janela de contexto de 1M.",
|
||||
gemini1mWarning: "⚠ Contexto grande pode reduzir o desempenho do Gemini-3-Pro.",
|
||||
clickToSet: "Clique para configurar...",
|
||||
none: "Nenhum",
|
||||
// Quota Distribution
|
||||
quotaDistribution: "Distribuição de Quota",
|
||||
resetsIn: "Reseta em {time}",
|
||||
noQuotaData: "Dados de quota ainda não disponíveis para esta conta.",
|
||||
// Manual OAuth Mode
|
||||
manualMode: "Modo Manual",
|
||||
manualModeDesc: "(para ambientes onde callback não consegue alcançar)",
|
||||
authLinkLabel: "Link de Autorização:",
|
||||
linkCopied: "Link copiado para a área de transferência",
|
||||
pasteCallbackLabel: "Cole a URL de callback ou código:",
|
||||
pasteCallbackPlaceholder: "http://localhost:51121/oauth-callback?code=... ou 4/0xxx...",
|
||||
completeAuth: "Completar Autorização",
|
||||
authFailed: "Falha na autorização",
|
||||
// Import/Export
|
||||
export: "Exportar",
|
||||
import: "Importar",
|
||||
exportAccounts: "Exportar Contas",
|
||||
importAccounts: "Importar Contas",
|
||||
exportSuccess: "Exportadas {count} contas",
|
||||
exportFailed: "Falha ao exportar",
|
||||
importSuccess: "Importação concluída:",
|
||||
importFailed: "Falha ao importar",
|
||||
|
||||
// Account Selection Strategy translations
|
||||
accountSelectionStrategy: "Estratégia de Seleção de Conta",
|
||||
|
||||
@@ -280,6 +280,24 @@ window.translations.tr = {
|
||||
quotaDistribution: "Kota Dağılımı",
|
||||
resetsIn: "{time} içinde sıfırlanır",
|
||||
noQuotaData: "Bu hesap için henüz kota verisi yok.",
|
||||
// Manual OAuth Mode
|
||||
manualMode: "Manuel Mod",
|
||||
manualModeDesc: "(callback ulaşamadığında kullan)",
|
||||
authLinkLabel: "Yetkilendirme Linki:",
|
||||
linkCopied: "Link panoya kopyalandı",
|
||||
pasteCallbackLabel: "Callback URL veya kodu yapıştır:",
|
||||
pasteCallbackPlaceholder: "http://localhost:51121/oauth-callback?code=... veya 4/0xxx...",
|
||||
completeAuth: "Yetkilendirmeyi Tamamla",
|
||||
authFailed: "Yetkilendirme başarısız",
|
||||
// Import/Export
|
||||
export: "Dışa Aktar",
|
||||
import: "İçe Aktar",
|
||||
exportAccounts: "Hesapları Dışa Aktar",
|
||||
importAccounts: "Hesapları İçe Aktar",
|
||||
exportSuccess: "{count} hesap dışa aktarıldı",
|
||||
exportFailed: "Dışa aktarma başarısız",
|
||||
importSuccess: "İçe aktarma tamamlandı:",
|
||||
importFailed: "İçe aktarma başarısız",
|
||||
|
||||
// TODO: Missing translations - Hardcoded strings from HTML
|
||||
// pageTitle: "Antigravity Console",
|
||||
|
||||
@@ -298,6 +298,24 @@ window.translations.zh = {
|
||||
quotaDistribution: "配额分布",
|
||||
resetsIn: "{time} 后重置",
|
||||
noQuotaData: "暂无此账号的配额数据。",
|
||||
// Manual OAuth Mode
|
||||
manualMode: "手动模式",
|
||||
manualModeDesc: "(当回调无法到达时使用)",
|
||||
authLinkLabel: "授权链接:",
|
||||
linkCopied: "链接已复制到剪贴板",
|
||||
pasteCallbackLabel: "粘贴回调 URL 或授权码:",
|
||||
pasteCallbackPlaceholder: "http://localhost:51121/oauth-callback?code=... 或 4/0xxx...",
|
||||
completeAuth: "完成授权",
|
||||
authFailed: "授权失败",
|
||||
// Import/Export
|
||||
export: "导出",
|
||||
import: "导入",
|
||||
exportAccounts: "导出账号",
|
||||
importAccounts: "导入账号",
|
||||
exportSuccess: "已导出 {count} 个账号",
|
||||
exportFailed: "导出失败",
|
||||
importSuccess: "导入完成:",
|
||||
importFailed: "导入失败",
|
||||
|
||||
// TODO: Missing translations - Hardcoded strings from HTML
|
||||
// pageTitle: "Antigravity Console",
|
||||
|
||||
Reference in New Issue
Block a user