From f98f31f2ed4ba4136921a740eb1f0b1b58fd7bc5 Mon Sep 17 00:00:00 2001 From: hkfires <10558748+hkfires@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:05:51 +0800 Subject: [PATCH] fix(i18n, ui): correct syntax error in generateDynamicTypeLabel method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move generateDynamicTypeLabel method from inside updateAuthFileFilterButtons to proper class method location - Fix JavaScript syntax error that prevented app from loading - Preserve all internationalization functionality from 257260b 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/app.js b/app.js index 41a9afd..aeb9b33 100644 --- a/app.js +++ b/app.js @@ -3259,18 +3259,7 @@ class CLIProxyManager { btn.setAttribute('data-i18n-text', dynamicKey); btn.textContent = this.generateDynamicTypeLabel(type); } - // 生成动态类型标签 - generateDynamicTypeLabel(type) { - if (!type) return ''; - const key = `auth_files.type_${type}`; - const translated = i18n.t(key); - if (translated && translated !== key) { - return translated; - } - if (type.toLowerCase() === 'iflow') return 'iFlow'; - return type.charAt(0).toUpperCase() + type.slice(1); - } - + // 插入到 Empty 按钮之前(如果存在) const emptyBtn = filterContainer.querySelector('[data-type="empty"]'); if (emptyBtn) { @@ -3307,6 +3296,18 @@ class CLIProxyManager { this.refreshFilterButtonTexts(); } + // 生成动态类型标签 + generateDynamicTypeLabel(type) { + if (!type) return ''; + const key = `auth_files.type_${type}`; + const translated = i18n.t(key); + if (translated && translated !== key) { + return translated; + } + if (type.toLowerCase() === 'iflow') return 'iFlow'; + return type.charAt(0).toUpperCase() + type.slice(1); + } + // 绑定认证文件筛选事件 bindAuthFileFilterEvents() { const filterContainer = document.querySelector('.auth-file-filter');