From b600da76b834280ca109574df478e7d4ca737225 Mon Sep 17 00:00:00 2001 From: deepinsect Date: Sun, 15 Feb 2026 06:24:12 +0800 Subject: [PATCH 01/24] feat: implement WindowSideBar two-column mock layout Add agent icon sidebar with liquid drop styling and session list with date-grouped mock data. Main content area gets rounded corner and shadow separation. Sidebar/appbar use semi-transparent background. --- src/renderer/src/App.vue | 19 +- src/renderer/src/components/WindowSideBar.vue | 165 ++++++++++++++++++ 2 files changed, 180 insertions(+), 4 deletions(-) create mode 100644 src/renderer/src/components/WindowSideBar.vue diff --git a/src/renderer/src/App.vue b/src/renderer/src/App.vue index 434ca40a7..26ae979a7 100644 --- a/src/renderer/src/App.vue +++ b/src/renderer/src/App.vue @@ -22,6 +22,9 @@ import McpSamplingDialog from '@/components/mcp/McpSamplingDialog.vue' import { initAppStores, useMcpInstallDeeplinkHandler } from '@/lib/storeInitializer' import 'vue-sonner/style.css' // vue-sonner v2 requires this import import { useFontManager } from './composables/useFontManager' +import AppBar from '@/components/AppBar.vue' +import { useDeviceVersion } from '@/composables/useDeviceVersion' +import WindowSideBar from './components/WindowSideBar.vue' const route = useRoute() const configPresenter = usePresenter('configPresenter') @@ -32,6 +35,8 @@ const uiSettingsStore = useUiSettingsStore() const { setupFontListener } = useFontManager() setupFontListener() +const { isWinMacOS } = useDeviceVersion() + const themeStore = useThemeStore() const langStore = useLanguageStore() const modelCheckStore = useModelCheckStore() @@ -337,14 +342,20 @@ onBeforeUnmount(() => {