From 33df639c04ad5fd73a4018398b5d950691ef23e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Fri, 17 Apr 2026 20:35:07 +0800 Subject: [PATCH] feat(desktop): embed ClaudeOfficialLogin into Claude Official card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Official 卡片改成 flex-col 布局,原 header 内容包在可点击 row - 激活状态下在 header 下方展示 (login / logout button) - 未激活状态保持原"点击整块切换"UX 不变 Card root 不再带 onClick 以免 login/logout button 的 click 冒泡触发切换。 Co-Authored-By: Claude Opus 4.7 (1M context) --- desktop/src/pages/Settings.tsx | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/desktop/src/pages/Settings.tsx b/desktop/src/pages/Settings.tsx index 07468330..e8a2877a 100644 --- a/desktop/src/pages/Settings.tsx +++ b/desktop/src/pages/Settings.tsx @@ -20,6 +20,7 @@ import { SkillList } from '../components/skills/SkillList' import { SkillDetail } from '../components/skills/SkillDetail' import { ComputerUseSettings } from './ComputerUseSettings' import { useUIStore, type SettingsTab } from '../stores/uiStore' +import { ClaudeOfficialLogin } from '../components/settings/ClaudeOfficialLogin' export function Settings() { const [activeTab, setActiveTab] = useState('providers') @@ -138,23 +139,33 @@ function ProviderSettings() { {/* Official provider — always visible at top */}
!isOfficialActive && handleActivateOfficial()} > - -
-
- {t('settings.providers.officialName')} - {isOfficialActive && ( - {t('common.active')} - )} +
!isOfficialActive && handleActivateOfficial()} + > + +
+
+ {t('settings.providers.officialName')} + {isOfficialActive && ( + {t('common.active')} + )} +
+
{t('settings.providers.officialDesc')}
-
{t('settings.providers.officialDesc')}
+ + {isOfficialActive && ( +
+ +
+ )}
{/* Saved providers */}