From ee7a1dd7e71ff67d3f4e953adf7beed9bc185e5b Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 18 Sep 2026 16:13:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(theme):=20=E4=B8=BB=E9=A2=98=E8=A1=A8?= =?UTF-8?q?=E9=9D=A2=E5=8F=98=E9=87=8F--bg-side/--bg-page/--surface-card?= =?UTF-8?q?=E5=8F=8C=E4=B8=BB=E9=A2=98+=E8=8F=9C=E5=8D=95=E5=88=86?= =?UTF-8?q?=E7=BB=84=E5=B1=95=E5=BC=80=E7=AE=AD=E5=A4=B4(.menu-group::afte?= =?UTF-8?q?r=E8=B7=9F--ink-3,=E5=B1=95=E5=BC=80=E6=97=8B=E8=BD=AC90=C2=B0,?= =?UTF-8?q?menu.js=E5=90=8C=E6=AD=A5open=E7=B1=BB)=E2=80=94=E2=80=942026-0?= =?UTF-8?q?9-18=E7=94=A8=E6=88=B7=E5=9B=9B=E9=A1=B9=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=A6=81=E6=B1=82=E2=91=A1=E2=91=A2=E6=A1=86=E6=9E=B6=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bricks/css/bricks.css | 19 +++++++++++++++++++ bricks/menu.js | 7 +++++++ 2 files changed, 26 insertions(+) diff --git a/bricks/css/bricks.css b/bricks/css/bricks.css index c079d8f..a0e9c64 100755 --- a/bricks/css/bricks.css +++ b/bricks/css/bricks.css @@ -662,12 +662,31 @@ hr { --ink-1: #1e293b; /* 主正文 */ --ink-2: #334155; /* 次正文 */ --ink-3: #475569; /* 弱化说明 */ + --bg-side: #f8fafc; /* 侧栏容器底(菜单项未覆盖区) */ + --bg-page: #f1f5f9; /* 页面/内容区底 */ + --surface-card: #ffffff; /* 卡片表面 */ } html[data-theme="dark"] { --ink-0: #f1f5f9; --ink-1: #e2e8f0; --ink-2: #cbd5e1; --ink-3: #94a3b8; + --bg-side: #0F172A; + --bg-page: #0F172A; + --surface-card: #1E293B; +} + +/* 菜单分组展开指示箭头(2026-09-18 用户要求分风格):颜色跟 --ink-3 双主题, + 展开态旋转 90°。menu.js 给分组项加 .menu-group / 展开时加 .menu-group-open */ +.menu-group::after { + content: "▸"; + color: var(--ink-3); + margin-left: 6px; + transition: transform .15s ease; + display: inline-block; +} +.menu-group.menu-group-open::after { + transform: rotate(90deg); } [data-theme="dark"] body, diff --git a/bricks/menu.js b/bricks/menu.js index 37e0c73..a0d7088 100644 --- a/bricks/menu.js +++ b/bricks/menu.js @@ -135,6 +135,9 @@ bricks.Menu = class extends bricks.VScrollPanel { itw.user_data = item; itw.add_widget(subw); itw.add_widget(w1); + // 分组展开指示(2026-09-18 用户要求分风格):分组行加 .menu-group, + // 展开/收起时同步 .menu-group-open(CSS ::after 箭头跟主题色旋转) + subw.dom_element.classList.add('menu-group'); if (cnt < 4){ this.create_children(itw, cnt+1); } @@ -197,6 +200,10 @@ bricks.Menu = class extends bricks.VScrollPanel { } items_toggle_hide(w, event){ w.toggle_hide(); + // 同步分组箭头展开态(.menu-group-open 由 CSS 旋转 ::after 箭头) + var row = event && event.target && event.target.closest + ? event.target.closest('.menu-group') : null; + if (row) row.classList.toggle('menu-group-open', w.dom_element.style.display !== 'none'); event.stopPropagation(); } create_menuitem(item){