🎨 style(theme): 对齐表概览主题表面并优化工具栏与时间展示

- 主内容区与侧栏统一 panel-2,消除表概览空白区色差
- 查询工具栏保存按钮改为 default 图标样式,提升暗色可读性
- 表概览时间格式化为 YYYY-MM-DD HH:mm:ss,保留小数秒
- 补充多语言文案与相关测试
This commit is contained in:
Syngnat
2026-08-02 12:43:02 +08:00
parent 24873709f5
commit 218e9388d2
16 changed files with 674 additions and 135 deletions

View File

@@ -72,6 +72,11 @@ describe('built-in custom theme presets', () => {
expect(comfortDark.css).toContain('--gn-fg-5: #878e98');
expect(comfortDark.css).toContain('--gn-on-accent: #142019');
expect(comfortDark.css).toContain('.gn-v2-query-toolbar-save-action');
// 保存default 同族 + fg-1 图标,禁止软绿底/透明底踩 primary 前景
expect(comfortDark.css).toContain('color: var(--gn-fg-1) !important');
expect(comfortDark.css).not.toMatch(
/\.gn-v2-query-toolbar-save-action[\s\S]{0,200}background:\s*transparent\s*!important/,
);
expect(comfortDark.css).toContain('.gn-v2-ai-panel .ai-logo');
expect(comfortDark.css).toContain('.monaco-editor-background');
expect(comfortDark.css).not.toContain('background-color: var(--gn-bg-input) !important;');

View File

@@ -396,27 +396,38 @@ body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-transaction-commit-bu
color: var(--gn-accent-text, var(--gn-accent)) !important;
}
/* 「保存」降为次级样式:与 v2-theme.css 保持一致
原先填 --gn-info而 info 与 accent 在内置主题下的区分度仅 1.051.25
两个相邻实心按钮一眼分不清;且 Midnight Navy / Nord Slate 的 accent 本身即蓝青系,
靠色相无法拉开,故改用层级区分,只让「执行」保持实心主按钮。 */
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar-save-action.ant-btn-primary:not(:disabled) {
background: transparent !important;
border-color: var(--gn-br-3) !important;
color: var(--gn-fg-2) !important;
/* 「保存」与工具栏 default 图标按钮同族v2 已不用 type=primary
仅保证图标用 fg-1避免与终端等按钮混成一摊灰时单独发闷。 */
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled) {
background: var(--gn-bg-panel) !important;
border-color: var(--gn-br-2) !important;
color: var(--gn-fg-1) !important;
box-shadow: none !important;
}
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar-save-action.ant-btn-primary:not(:disabled):hover,
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar-save-action.ant-btn-primary:not(:disabled):focus-visible {
background: var(--gn-bg-hover) !important;
border-color: var(--gn-accent) !important;
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled) .anticon {
color: var(--gn-fg-1) !important;
}
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar-save-action.ant-btn-primary:not(:disabled):active {
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):hover,
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):focus-visible {
background: var(--gn-bg-hover) !important;
border-color: var(--gn-br-3) !important;
color: var(--gn-fg-1) !important;
}
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):hover .anticon,
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):focus-visible .anticon {
color: var(--gn-fg-1) !important;
}
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):active {
background: var(--gn-bg-active) !important;
border-color: var(--gn-accent) !important;
border-color: var(--gn-br-3) !important;
color: var(--gn-fg-1) !important;
}
body[data-custom-theme][data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-save-action.ant-btn:not(:disabled):active .anticon {
color: var(--gn-fg-1) !important;
}