mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-21 16:34:21 +08:00
🐛 fix(driver-manager): 优化首次加载并修正版本与卡片展示
- 将驱动包元数据预热移至后台,避免状态首屏等待网络 - 复用状态快照并合并并发请求,防止重复刷新与过期响应覆盖 - 修正版本重复及历史版本选择,保证展示与安装目标一致 - 重排版本、进度和操作区域,并提升深色主操作对比度 - 补充首屏、并发、布局与性能边界回归测试
This commit is contained in:
@@ -48,7 +48,7 @@ body[data-ui-version="v2"][data-theme="light"] {
|
||||
--gn-accent: #15803d;
|
||||
--gn-accent-2: #166534;
|
||||
--gn-accent-soft: #dcfce7;
|
||||
/* 浅色主题的主操作使用深绿填充,白色前景对 #15803d 的对比度为 5.02。 */
|
||||
/* 一般强调面与实心主操作都使用深绿填充,白色前景满足 WCAG AA。 */
|
||||
--gn-on-accent: #ffffff;
|
||||
--gn-accent-strong: #15803d;
|
||||
--gn-accent-strong-hover: #126634;
|
||||
@@ -99,11 +99,12 @@ body[data-ui-version="v2"][data-theme="dark"] {
|
||||
--gn-accent: #22c55e;
|
||||
--gn-accent-2: #16a34a;
|
||||
--gn-accent-soft: rgba(34, 197, 94, 0.16);
|
||||
/* 同上:白字压在 #22c55e 上仅 2.28,深绿可得 7.21。 */
|
||||
/* 亮绿强调面继续使用深色前景;实心主操作使用更深的三态填充与白色前景。
|
||||
两种语义不能共用前景色,否则徽标或主按钮必有一方达不到 WCAG AA。 */
|
||||
--gn-on-accent: #0a2417;
|
||||
--gn-accent-strong: #22c55e;
|
||||
--gn-accent-strong-hover: #1ca14d;
|
||||
--gn-accent-strong-active: #157a3b;
|
||||
--gn-accent-strong: #15803d;
|
||||
--gn-accent-strong-hover: #126634;
|
||||
--gn-accent-strong-active: #0d4d27;
|
||||
--gn-info: #38bdf8;
|
||||
--gn-info-soft: rgba(56, 189, 248, 0.14);
|
||||
--gn-warn: #f59e0b;
|
||||
@@ -122,6 +123,11 @@ body[data-ui-version="v2"][data-theme="dark"] {
|
||||
--gn-kbd-fg: #c7ccd2;
|
||||
}
|
||||
|
||||
/* 自定义主题可显式提供 --gn-ant-on-primary;未提供时回退到它自己的 --gn-on-accent。 */
|
||||
body[data-ui-version="v2"]:not([data-custom-theme]) {
|
||||
--gn-ant-on-primary: #ffffff;
|
||||
}
|
||||
|
||||
/* ─── Base typography & body ──────────────────────────── */
|
||||
body[data-ui-version="v2"] {
|
||||
font-family: var(--gn-font-sans) !important;
|
||||
@@ -292,11 +298,11 @@ body[data-ui-version="v2"] .ant-btn-default:hover {
|
||||
/* 主操作按钮用提饱和的 --gn-accent-strong 填充:内置主题的 accent 刻意低饱和
|
||||
(Comfort Dark 仅 20%、Deep Ocean 28%),直接填在按钮上读起来"没有颜色"、不像主操作。
|
||||
只改按钮填充,侧边栏高亮与文字仍用原 accent,保持主题整体淡雅。
|
||||
前景色改用 --gn-on-accent:硬编码 #fff 在默认深色主题上压 #22c55e 仅 2.28,不满足 AA。 */
|
||||
主按钮前景单独使用 --gn-ant-on-primary,避免与亮色强调面的前景语义冲突。 */
|
||||
body[data-ui-version="v2"] .ant-btn-primary {
|
||||
background: var(--gn-accent-strong, var(--gn-accent)) !important;
|
||||
border-color: var(--gn-accent-strong, var(--gn-accent-2)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
font-weight: 600 !important;
|
||||
box-shadow: var(--gn-shadow-sm), inset 0 0.5px 0 rgba(255,255,255,0.15) !important;
|
||||
}
|
||||
@@ -304,13 +310,13 @@ body[data-ui-version="v2"] .ant-btn-primary {
|
||||
body[data-ui-version="v2"] .ant-btn-primary:hover {
|
||||
background: var(--gn-accent-strong-hover, var(--gn-accent-2)) !important;
|
||||
border-color: var(--gn-accent-strong-hover, var(--gn-accent-2)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
}
|
||||
|
||||
body[data-ui-version="v2"] .ant-btn-primary:active {
|
||||
background: var(--gn-accent-strong-active, var(--gn-accent-2)) !important;
|
||||
border-color: var(--gn-accent-strong-active, var(--gn-accent-2)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
}
|
||||
|
||||
/* 查询工具栏「保存」降为次级样式:描边 + 中性底。
|
||||
@@ -4727,7 +4733,7 @@ body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn {
|
||||
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary {
|
||||
background: var(--gn-accent-strong, var(--gn-accent)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
border-color: var(--gn-accent-strong, var(--gn-accent-2)) !important;
|
||||
box-shadow: var(--gn-shadow-sm), inset 0 0.5px 0 rgba(255, 255, 255, 0.15) !important;
|
||||
}
|
||||
@@ -4736,14 +4742,14 @@ body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary:hover,
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary:focus,
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary:focus-visible {
|
||||
background: var(--gn-accent-strong-hover, var(--gn-accent-2)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
border-color: var(--gn-accent-strong-hover, var(--gn-accent-2)) !important;
|
||||
box-shadow: var(--gn-shadow-sm), inset 0 0.5px 0 rgba(255, 255, 255, 0.15) !important;
|
||||
}
|
||||
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary:active {
|
||||
background: var(--gn-accent-strong-active, var(--gn-accent-2)) !important;
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
border-color: var(--gn-accent-strong-active, var(--gn-accent-2)) !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
@@ -4844,7 +4850,7 @@ body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-thumb
|
||||
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-item-selected .ant-segmented-item-label,
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-item-selected .anticon {
|
||||
color: var(--gn-on-accent, #fff) !important;
|
||||
color: var(--gn-ant-on-primary, var(--gn-on-accent, #fff)) !important;
|
||||
}
|
||||
|
||||
body[data-ui-version="v2"] .gn-v2-data-grid-page-find-overlay {
|
||||
|
||||
Reference in New Issue
Block a user