feat(sidebar): 优化窄宽度连接头部展示

- 移除连接头部状态徽章,释放连接名与库名显示空间
- 窄宽度时收起新建查询文字并保持操作按钮可用
- 连接名或库名截断时悬浮同时展示完整信息
- 补充响应式布局、主题对比度与悬浮提示回归测试
This commit is contained in:
Syngnat
2026-07-24 14:46:24 +08:00
parent 3bb0866633
commit 1e4ece74a7
5 changed files with 85 additions and 81 deletions

View File

@@ -2144,6 +2144,8 @@ body[data-ui-version="v2"] .gn-v2-object-explorer {
flex: 1 1 calc(100% - calc(38px * var(--gn-v2-rail-scale)));
background: var(--gn-bg-panel-2);
overflow: hidden;
container-type: inline-size;
container-name: gn-v2-object-explorer;
}
body[data-ui-version="v2"] .gn-v2-active-connection-header {
@@ -2152,7 +2154,7 @@ body[data-ui-version="v2"] .gn-v2-active-connection-header {
border-bottom: 0.5px solid var(--gn-br-1);
display: flex;
align-items: center;
gap: 8px;
gap: 6px;
}
body[data-ui-version="v2"] .gn-v2-active-connection-trigger {
@@ -2161,8 +2163,7 @@ body[data-ui-version="v2"] .gn-v2-active-connection-trigger {
height: 34px;
display: flex;
align-items: center;
gap: 8px;
padding: 0 9px;
padding: 0 4px;
border: 0;
border-radius: 0;
background: transparent;
@@ -2170,37 +2171,6 @@ body[data-ui-version="v2"] .gn-v2-active-connection-trigger {
text-align: left;
}
body[data-ui-version="v2"] .gn-v2-live-dot {
width: 10px;
height: 10px;
box-sizing: border-box;
border: 1.5px solid var(--gn-fg-4);
border-radius: 50%;
flex-shrink: 0;
background: transparent;
}
body[data-ui-version="v2"] .gn-v2-live-dot.is-live {
border: 0;
background: var(--gn-status-connected);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--gn-status-connected) 22%, transparent);
}
body[data-ui-version="v2"] .gn-v2-live-dot.is-loading {
width: 10px;
height: 10px;
border: 2px solid rgba(37, 99, 235, 0.24);
border-top-color: #2563eb;
background: transparent;
animation: gn-v2-tree-status-spin 0.8s linear infinite;
}
body[data-ui-version="v2"] .gn-v2-live-dot.is-error {
border: 0;
background: var(--gn-danger);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--gn-danger) 20%, transparent);
}
body[data-ui-version="v2"] .gn-v2-active-connection-copy {
min-width: 0;
flex: 1 1 auto;
@@ -2232,6 +2202,29 @@ body[data-ui-version="v2"] .gn-v2-active-connection-copy span {
line-height: 1.2;
}
body[data-ui-version="v2"] .gn-v2-active-connection-tooltip {
display: flex;
flex-direction: column;
gap: 2px;
max-width: min(320px, calc(100vw - 24px));
overflow-wrap: anywhere;
font-family: var(--gn-font-sans);
letter-spacing: 0;
}
body[data-ui-version="v2"] .gn-v2-active-connection-tooltip strong {
color: var(--gn-fg-1);
font-size: 12px;
font-weight: 600;
line-height: 1.35;
}
body[data-ui-version="v2"] .gn-v2-active-connection-tooltip span {
color: var(--gn-fg-3);
font-size: 11px;
line-height: 1.35;
}
body[data-ui-version="v2"] .gn-v2-active-connection-actions {
display: inline-flex;
align-items: center;
@@ -2246,13 +2239,36 @@ body[data-ui-version="v2"] .gn-v2-active-connection-query-action {
font-weight: 500;
}
body[data-ui-version="v2"] .gn-v2-active-connection-query-action > span:not(.anticon) {
body[data-ui-version="v2"] .gn-v2-active-connection-query-action > span:not(.anticon):not(.ant-btn-icon) {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
@container gn-v2-object-explorer (max-width: 440px) {
body[data-ui-version="v2"] .gn-v2-active-connection-header {
padding-right: 8px;
padding-left: 10px;
gap: 4px;
}
body[data-ui-version="v2"] .gn-v2-active-connection-actions {
gap: 2px;
}
body[data-ui-version="v2"] .gn-v2-active-connection-query-action {
width: 28px;
min-width: 28px;
max-width: 28px;
padding: 0;
}
body[data-ui-version="v2"] .gn-v2-active-connection-query-action > span:not(.anticon):not(.ant-btn-icon) {
display: none;
}
}
body[data-ui-version="v2"] .gn-v2-explorer-search {
padding: 10px 10px 6px !important;
border-bottom: none !important;