From a9d05480f0cd293f0e809d8a4468c165a055a02e Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 6 May 2026 13:22:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E4=BE=A7=E8=BE=B9=E6=A0=8F?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8C=81=E4=B9=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/layouts/AppLayout.vue | 4 +++- web/src/stores/chatUI.js | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/web/src/layouts/AppLayout.vue b/web/src/layouts/AppLayout.vue index f5520446..aa6a0739 100644 --- a/web/src/layouts/AppLayout.vue +++ b/web/src/layouts/AppLayout.vue @@ -17,6 +17,7 @@ import { import { useConfigStore } from '@/stores/config' import { useAgentStore } from '@/stores/agent' import { useChatThreadsStore } from '@/stores/chatThreads' +import { useChatUIStore } from '@/stores/chatUI' import { useDatabaseStore } from '@/stores/database' import { useInfoStore } from '@/stores/info' import { useTaskerStore } from '@/stores/tasker' @@ -31,6 +32,7 @@ import ConversationNavSection from '@/components/ConversationNavSection.vue' const configStore = useConfigStore() const agentStore = useAgentStore() const chatThreadsStore = useChatThreadsStore() +const chatUIStore = useChatUIStore() const databaseStore = useDatabaseStore() const infoStore = useInfoStore() const taskerStore = useTaskerStore() @@ -54,7 +56,7 @@ const showDebugModal = ref(false) // Add state for settings modal const showSettingsModal = ref(false) -const sidebarCollapsed = ref(false) +const { sidebarCollapsed } = storeToRefs(chatUIStore) // Provide settings modal methods to child components const openSettingsModal = () => { diff --git a/web/src/stores/chatUI.js b/web/src/stores/chatUI.js index 32aaf568..b132c01b 100644 --- a/web/src/stores/chatUI.js +++ b/web/src/stores/chatUI.js @@ -13,6 +13,9 @@ export const useChatUIStore = defineStore('chatUI', () => { // 配置侧边栏 const isConfigSidebarOpen = ref(false) + // 应用侧边栏折叠态 + const sidebarCollapsed = ref(false) + // 更多菜单 const moreMenuOpen = ref(false) const moreMenuPosition = ref({ x: 0, y: 0 }) @@ -51,6 +54,7 @@ export const useChatUIStore = defineStore('chatUI', () => { isLoadingMessages, agentModalOpen, isConfigSidebarOpen, + sidebarCollapsed, moreMenuOpen, moreMenuPosition, @@ -59,4 +63,10 @@ export const useChatUIStore = defineStore('chatUI', () => { closeMoreMenu, reset } +}, { + persist: { + key: 'chat-ui-store', + storage: localStorage, + pick: ['sidebarCollapsed'] + } })