From df42a389a24c2a544ed815de90f9af63fb20541b Mon Sep 17 00:00:00 2001 From: "ilblackdragon@gmail.com" Date: Tue, 24 Mar 2026 23:55:56 -0700 Subject: [PATCH] fix: add i18n for Users subtab, show login link on user creation - Added 'settings.users' i18n key for English and Chinese - Token banner now shows a full login link (domain/?token=xxx) with a Copy Link button, plus the raw token below - Login link works automatically via existing ?token= auto-auth Co-Authored-By: Claude Opus 4.6 (1M context) --- src/channels/web/static/app.js | 12 +++++++----- src/channels/web/static/i18n/en.js | 3 ++- src/channels/web/static/i18n/zh-CN.js | 3 ++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/channels/web/static/app.js b/src/channels/web/static/app.js index 1438392d..c229f60d 100644 --- a/src/channels/web/static/app.js +++ b/src/channels/web/static/app.js @@ -4415,12 +4415,14 @@ function createTokenForUser(userId, displayName) { function showTokenBanner(tokenValue) { var banner = document.getElementById('users-token-result'); if (!banner) return; + var loginUrl = window.location.origin + '/?token=' + encodeURIComponent(tokenValue); banner.style.display = 'block'; - banner.innerHTML = 'Token created! Copy this now — it won\'t be shown again:
' - + '' + escapeHtml(tokenValue) + '' - + ''; - document.getElementById('token-copy-btn').addEventListener('click', function() { - navigator.clipboard.writeText(tokenValue); + banner.innerHTML = 'User created! Share this login link — it won\'t be shown again:
' + + '' + escapeHtml(loginUrl) + '' + + '' + + '
Raw token: ' + escapeHtml(tokenValue) + ''; + document.getElementById('token-copy-link').addEventListener('click', function() { + navigator.clipboard.writeText(loginUrl); this.textContent = 'Copied!'; }); } diff --git a/src/channels/web/static/i18n/en.js b/src/channels/web/static/i18n/en.js index 761767fe..f984bb14 100644 --- a/src/channels/web/static/i18n/en.js +++ b/src/channels/web/static/i18n/en.js @@ -44,7 +44,8 @@ I18n.register('en', { 'settings.channels': 'Channels', 'settings.networking': 'Networking', 'settings.mcp': 'MCP', - + 'settings.users': 'Users', + // Status 'status.connected': 'Connected', 'status.disconnected': 'Disconnected', diff --git a/src/channels/web/static/i18n/zh-CN.js b/src/channels/web/static/i18n/zh-CN.js index 0fb1568a..09d28d74 100644 --- a/src/channels/web/static/i18n/zh-CN.js +++ b/src/channels/web/static/i18n/zh-CN.js @@ -44,7 +44,8 @@ I18n.register('zh-CN', { 'settings.channels': '频道', 'settings.networking': '网络', 'settings.mcp': 'MCP', - + 'settings.users': '用户管理', + // 状态 'status.connected': '已连接', 'status.disconnected': '已断开',