From df8c2d7eaa07a02cad38d4a990149a09d05fda20 Mon Sep 17 00:00:00 2001 From: xiyidaiwa Date: Wed, 22 Jul 2026 01:19:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?style:=20=E7=BB=9F=E4=B8=80=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E6=9D=A1=E5=A4=96=E8=A7=82=E5=B9=B6=E5=B0=86=E6=8A=95?= =?UTF-8?q?=E7=A8=BF=E5=BA=94=E7=94=A8=E7=AA=97=E5=8F=A3=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=9C=86=E8=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 滚动条:主进程对 Linux 关闭 overlay 滚动条 (disable-features=OverlayScrollbar),使 CSS ::-webkit-scrollbar 自定义生效; 全局统一定义亮色 #94a3b8 / 暗色 #15203b(带极淡描边),宽度 0.75rem,亮暗一致。 - 投稿页:修复滚动条贯穿整个窗口、侵入标题栏(改为 flex 分栏, 标题栏 shrink-0,内容区单独滚动)。 - 应用管理页:移除 scrollbar-nowidth 隐藏与 scrollbar-thumb-* 覆盖色, 改由全局规则统一,与其他页面一致。 - 圆角页面:投稿页与已安装应用页滚动容器内缩 (mr-4 mb-4), 避免滚动条滚入圆角被裁切。 - 投稿应用窗口:独立窗口改为透明圆角窗口 (transparent + rounded-3xl + shadow-2xl), 与弹框风格统一;挂载时 body 背景透明以露出圆角。 - 标题栏:左上角蓝色圆点替换为软件图标 spark-store.svg。 - 更新中心:搜索框对齐主页样式(左侧图标、统一圆角与配色)。 --- electron/main/backend/submitter.ts | 1 + electron/main/index.ts | 7 +++ src/App.vue | 2 +- src/assets/css/appstyle.css | 51 +++++++++++++++++++ src/components/AppGrid.vue | 1 - src/components/InstalledAppsModal.vue | 2 +- src/components/SubmitterWindow.vue | 11 ++-- src/components/WindowTitleBar.vue | 6 ++- .../update-center/UpdateCenterToolbar.vue | 6 ++- 9 files changed, 78 insertions(+), 9 deletions(-) diff --git a/electron/main/backend/submitter.ts b/electron/main/backend/submitter.ts index be559f3a..cbe523ac 100644 --- a/electron/main/backend/submitter.ts +++ b/electron/main/backend/submitter.ts @@ -448,6 +448,7 @@ export function registerSubmitterHandlers( width: 800, height: 900, frame: false, + transparent: true, show: false, autoHideMenuBar: true, icon: path.join(process.env.VITE_PUBLIC!, "favicon.ico"), diff --git a/electron/main/index.ts b/electron/main/index.ts index ebf970b6..97f7451b 100644 --- a/electron/main/index.ts +++ b/electron/main/index.ts @@ -72,6 +72,13 @@ if (!app.requestSingleInstanceLock()) { import "./backend/install-manager.js"; import "./handle-url-scheme.js"; +// 关闭 Linux 的覆盖式(overlay)滚动条,强制使用经典滚动条, +// 否则 GTK overlay 滚动条会忽略渲染进程的 ::-webkit-scrollbar 颜色, +// 导致暗色模式下滚动条始终是原生灰色。必须在 app ready 前设置。 +if (process.platform === "linux") { + app.commandLine.appendSwitch("disable-features", "OverlayScrollbar"); +} + const logger = pino({ name: "index.ts" }); const FLARUM_TOKEN_URL = "https://bbs.spark-app.store/api/token"; diff --git a/src/App.vue b/src/App.vue index 83240255..9144ed45 100644 --- a/src/App.vue +++ b/src/App.vue @@ -73,7 +73,7 @@ :category-counts="categoryCounts" @select-category="selectSubCategory" /> -
+
{ flex: 1; box-sizing: border-box; overflow-x: hidden; - overflow-y: auto; } :deep(.vue-recycle-scroller__item-view) { diff --git a/src/components/InstalledAppsModal.vue b/src/components/InstalledAppsModal.vue index d4471c47..a7d28b32 100644 --- a/src/components/InstalledAppsModal.vue +++ b/src/components/InstalledAppsModal.vue @@ -100,7 +100,7 @@
@@ -34,7 +34,8 @@
-
+
+
+
@@ -1908,6 +1910,9 @@ const getGitInfo = async () => { onMounted(async () => { console.log("[Submitter] Component mounted, loading categories and tags"); + // 透明窗口:让 body/html 背景透明,圆角才能透出,否则四角是方角 + document.documentElement.style.backgroundColor = "transparent"; + document.body.style.backgroundColor = "transparent"; // 先等待分类列表加载完成,避免后续竞态 await Promise.all([loadCategoriesList(), loadTagsList()]); // 尝试从 git 配置读取 name 和 email,填入 contributor 和 mail diff --git a/src/components/WindowTitleBar.vue b/src/components/WindowTitleBar.vue index 9fb3c8bb..f2119fe0 100644 --- a/src/components/WindowTitleBar.vue +++ b/src/components/WindowTitleBar.vue @@ -3,7 +3,11 @@ class="window-titlebar sticky top-0 z-20 flex h-10 shrink-0 items-center justify-between border-b border-slate-200/70 bg-white px-3 text-slate-700 dark:border-slate-800/70 dark:bg-slate-950 dark:text-slate-200" >
- + 星火应用商店 星火应用商店
diff --git a/src/components/update-center/UpdateCenterToolbar.vue b/src/components/update-center/UpdateCenterToolbar.vue index e6e9c9c6..acf9aa18 100644 --- a/src/components/update-center/UpdateCenterToolbar.vue +++ b/src/components/update-center/UpdateCenterToolbar.vue @@ -61,11 +61,13 @@