style: 优化按钮禁用态与主题入口并将设置移至侧栏底部

This commit is contained in:
GouJ
2026-09-01 21:58:32 +08:00
parent 03bf87ca9a
commit a24326b85d
11 changed files with 278 additions and 71 deletions
+46 -10
View File
@@ -12,7 +12,12 @@
--app-accent: #07c160;
--app-accent-hover: #2dcb79;
--app-accent-text: #087c42;
--app-on-accent: #082b17;
--app-on-accent: #ffffff;
--app-button-primary: #078640;
--app-button-hover: #087c42;
--app-button-pressed: #066b36;
--app-disabled-bg: #e4e4e4;
--app-disabled-text: #8c8c8c;
--app-selected: #e4f4e9;
--app-shadow: #00000018;
--app-danger: #a93232;
@@ -26,6 +31,8 @@
--app-subtle: #232323;
--app-control: #2b2b2b;
--app-control-hover: #353535;
--app-disabled-bg: #303030;
--app-disabled-text: #808080;
--app-border: #333333;
--app-inverse: #111111;
--app-accent-text: #5cd693;
@@ -65,6 +72,34 @@ body {
.admin-sider {
height: 100%;
}
/* 外壳固定品牌与底部设置;只有菜单自身使用 NScrollbar 滚动。 */
.admin-sider-content {
display: flex;
flex-direction: column;
height: 100%;
min-height: 0;
overflow: hidden;
}
.admin-nav-scroll.n-scrollbar {
flex: 1;
min-height: 0;
}
.admin-sider-footer {
flex-shrink: 0;
padding-block: 8px max(8px, env(safe-area-inset-bottom));
}
.n-button.admin-settings-button {
justify-content: flex-start;
height: 44px;
padding-inline: 20px;
}
.n-button.admin-settings-button.is-collapsed {
justify-content: center;
padding-inline: 0;
}
.admin-settings-button.is-collapsed .n-button__icon {
margin: 0;
}
/* Naive 菜单背景默认左右内缩 8px;只铺满导航行,不改图标与文字缩进。 */
.admin-sider .n-menu .n-menu-item-content::before {
left: 0;
@@ -73,6 +108,7 @@ body {
}
.admin-brand {
display: flex;
flex-shrink: 0;
align-items: center;
gap: 12px;
height: 74px;
@@ -108,6 +144,10 @@ body {
.n-button {
border-radius: 0;
}
.n-button:focus-visible {
outline: 2px solid var(--app-accent-text);
outline-offset: 2px;
}
.admin-sider .n-menu-divider {
height: 12px;
background: transparent;
@@ -119,8 +159,10 @@ body {
.workspace-tools-drawer .n-drawer-body {
background: var(--app-body);
}
.theme-select {
width: 120px;
.n-button.theme-toggle {
flex-shrink: 0;
width: 34px;
height: 34px;
}
.admin-content {
flex: 1;
@@ -213,10 +255,6 @@ body {
min-width: 180px;
font-size: 12px;
}
.toolbar-episode > span {
flex-shrink: 0;
color: var(--app-muted);
}
.toolbar-episode .n-select {
min-width: 0;
}
@@ -1160,9 +1198,6 @@ body {
.production-video {
background: #080808;
}
.button-primary {
color: var(--app-on-accent);
}
.skip-link:focus {
z-index: 3000;
}
@@ -1185,6 +1220,7 @@ body {
position: absolute;
top: 44px;
bottom: 0;
height: auto;
z-index: 20;
box-shadow: 6px 0 24px var(--app-shadow);
}