diff options
Diffstat (limited to 'src/components/connections/ConnectionDetailModal.module.scss')
| -rw-r--r-- | src/components/connections/ConnectionDetailModal.module.scss | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/src/components/connections/ConnectionDetailModal.module.scss b/src/components/connections/ConnectionDetailModal.module.scss new file mode 100644 index 0000000..a164ca7 --- /dev/null +++ b/src/components/connections/ConnectionDetailModal.module.scss @@ -0,0 +1,142 @@ +// 覆盖层与面板都挂在连接表格容器内(absolute 定位), +// 模糊只作用于表格区域,不影响页面其它部分 +.overlay { + position: absolute; + inset: 0; + z-index: 20; + background: rgba(15, 23, 42, 0.32); + backdrop-filter: blur(3px) saturate(0.9); + animation: overlayFade 0.18s ease; +} + +.panel { + position: absolute; + top: 50%; + left: 50%; + translate: -50% -50%; + z-index: 21; + display: flex; + flex-direction: column; + width: min(560px, calc(100% - 32px)); + max-height: calc(100% - 32px); + border-radius: 18px; + background: var(--bg-modal); + border: 1px solid var(--color-card-border); + box-shadow: var(--shadow-popover); + overflow: hidden; + animation: panelIn 0.18s ease; +} + +@keyframes overlayFade { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes panelIn { + from { + opacity: 0; + scale: 0.96; + } + to { + opacity: 1; + scale: 1; + } +} + +.header { + display: flex; + align-items: center; + flex-shrink: 0; + gap: 12px; + padding: 16px 22px; + border-bottom: 1px solid var(--color-separator); +} + +.headerTitle { + min-width: 0; + font-size: 1rem; + font-weight: 600; + color: var(--color-text-highlight); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.headerClose { + display: flex; + align-items: center; + justify-content: center; + margin-left: auto; + flex-shrink: 0; + width: 26px; + height: 26px; + border: none; + border-radius: 50%; + background: var(--color-badge-bg); + color: var(--color-text-secondary); + cursor: pointer; + + &:hover { + background: var(--color-hover-soft); + color: var(--color-text-highlight); + } +} + +.body { + flex: 1; + min-height: 0; + overflow-y: auto; + padding: 18px 22px 22px; +} + +.grid { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + gap: 0; + border-radius: 12px; + border: 1px solid var(--color-card-border); + overflow: hidden; +} + +.item { + display: flex; + flex-direction: column; + gap: 3px; + min-width: 0; + padding: 10px 14px; + background: var(--color-card); + + &:nth-child(4n + 1), + &:nth-child(4n + 2) { + background: var(--color-track); + } + + &:nth-child(odd) { + border-right: 1px solid var(--color-card-border); + } + + &:nth-last-child(-n + 2) { + border-bottom: none; + } +} + +.label { + font-size: 0.7rem; + font-weight: 600; + letter-spacing: 0.02em; + color: var(--color-text-secondary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.value { + font-size: 0.82rem; + color: var(--color-text); + overflow-wrap: anywhere; + font-variant-numeric: tabular-nums; +} |
