From d1637b41b88affa109b187c9f90020245e69cef6 Mon Sep 17 00:00:00 2001 From: digua Date: Sun, 31 May 2026 15:40:56 +0800 Subject: [PATCH] feat(ui): optimize page header and toolbar layout --- src/components/common/CaptureButton.vue | 6 +- src/components/common/Sidebar.vue | 23 ++-- src/components/common/TitleBar.vue | 2 +- .../common/sidebar/SidebarButton.vue | 22 ++- src/components/layout/ActionToolsPanel.vue | 128 ++++++------------ src/components/layout/PageHeader.vue | 27 +++- src/i18n/locales/en-US/analysis.json | 3 +- src/i18n/locales/ja-JP/analysis.json | 3 +- src/i18n/locales/zh-CN/analysis.json | 3 +- src/i18n/locales/zh-CN/layout.json | 2 +- src/i18n/locales/zh-TW/analysis.json | 3 +- src/i18n/locales/zh-TW/layout.json | 2 +- src/pages/group-chat/index.vue | 68 +++++++--- src/pages/private-chat/index.vue | 65 ++++++--- 14 files changed, 197 insertions(+), 160 deletions(-) diff --git a/src/components/common/CaptureButton.vue b/src/components/common/CaptureButton.vue index 8527cca5..3104283d 100644 --- a/src/components/common/CaptureButton.vue +++ b/src/components/common/CaptureButton.vue @@ -26,10 +26,13 @@ const props = withDefaults( targetSelector?: string /** 是否应用 Markdown 列表渲染兼容修复(仅截取 Markdown 内容时传 true) */ markdownFix?: boolean + /** 按钮颜色,默认 primary */ + color?: string }>(), { size: 'sm', type: 'page', + color: 'primary', } ) @@ -77,7 +80,8 @@ async function handleCapture(event: Event) { :id="buttonId" icon="i-heroicons-camera" variant="ghost" - color="primary" + :color="color" + :class="color !== 'primary' ? 'hover:bg-gray-100 dark:hover:bg-gray-800' : ''" :size="size" :loading="isCapturing" @click="handleCapture" diff --git a/src/components/common/Sidebar.vue b/src/components/common/Sidebar.vue index d896e8ce..921ad429 100644 --- a/src/components/common/Sidebar.vue +++ b/src/components/common/Sidebar.vue @@ -240,7 +240,7 @@ function getAvatarColorClass(session: AnalysisSession, isActive: boolean) { class="flex h-full flex-col border-r border-gray-200/50 transition-all duration-300 ease-in-out dark:border-gray-800/50" :class="[isCollapsed ? 'w-20' : 'w-72', isHomePage ? '' : 'bg-gray-50 dark:bg-gray-900']" > -
+
- ChatLab -
- -
- +
diff --git a/src/components/common/TitleBar.vue b/src/components/common/TitleBar.vue index f491b4b9..61960f6b 100644 --- a/src/components/common/TitleBar.vue +++ b/src/components/common/TitleBar.vue @@ -82,7 +82,7 @@ function close() { height: 32px; display: flex; align-items: center; - z-index: 9999; + z-index: 30; -webkit-app-region: drag; } diff --git a/src/components/common/sidebar/SidebarButton.vue b/src/components/common/sidebar/SidebarButton.vue index b6fa20e8..fa490fb4 100644 --- a/src/components/common/sidebar/SidebarButton.vue +++ b/src/components/common/sidebar/SidebarButton.vue @@ -20,11 +20,23 @@ const { isSidebarCollapsed: isCollapsed } = storeToRefs(layoutStore) diff --git a/src/components/layout/ActionToolsPanel.vue b/src/components/layout/ActionToolsPanel.vue index da3a2eb4..10e54c0d 100644 --- a/src/components/layout/ActionToolsPanel.vue +++ b/src/components/layout/ActionToolsPanel.vue @@ -1,50 +1,15 @@