fix(export): restore virtualized contacts list and sticky controls

This commit is contained in:
tisonhuang
2026-03-05 12:18:28 +08:00
parent b436bb63da
commit 6a85b82643
2 changed files with 301 additions and 300 deletions

View File

@@ -859,6 +859,7 @@
display: inline-flex;
align-items: center;
gap: 6px;
margin: 8px 12px 0;
padding: 6px 10px;
border-radius: 999px;
background: rgba(var(--primary-rgb), 0.1);
@@ -874,6 +875,9 @@
align-items: flex-start;
gap: 12px;
flex-wrap: wrap;
padding: 10px 12px;
border-bottom: 1px solid color-mix(in srgb, var(--border-color) 85%, transparent);
background: color-mix(in srgb, var(--bg-primary) 82%, var(--bg-secondary));
}
.table-cache-meta {
@@ -990,17 +994,24 @@
--contacts-select-col-width: 34px;
--contacts-message-col-width: 120px;
--contacts-action-col-width: 280px;
overflow: visible;
overflow: hidden;
border: 1px solid var(--border-color);
border-radius: 10px;
min-height: 320px;
height: auto;
flex: 0 0 auto;
flex: 1;
display: flex;
flex-direction: column;
}
.table-wrap {
.session-table-sticky {
position: sticky;
top: 0;
z-index: 20;
background: var(--card-bg);
}
.loading-state,
.empty-state {
flex: 1;
@@ -1151,12 +1162,27 @@
}
.contacts-list {
flex: 0 0 auto;
min-height: auto;
overflow: visible;
flex: 1;
min-height: 360px;
height: clamp(360px, 62vh, 760px);
overflow: hidden;
padding: 0 12px 12px;
}
.contacts-virtuoso {
height: 100%;
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-thumb {
background: var(--text-tertiary);
border-radius: 3px;
opacity: 0.3;
}
}
.contacts-selection-toolbar {
display: flex;
align-items: center;
@@ -1381,6 +1407,28 @@
}
}
.back-to-top-btn {
position: fixed;
top: 14px;
right: 18px;
z-index: 120;
border: 1px solid rgba(var(--primary-rgb), 0.4);
border-radius: 999px;
background: color-mix(in srgb, var(--bg-primary) 90%, var(--bg-secondary));
color: var(--primary);
font-size: 12px;
font-weight: 600;
padding: 6px 12px;
cursor: pointer;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
transition: transform 0.12s ease, box-shadow 0.12s ease;
&:hover {
transform: translateY(-1px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}
}
.table-virtuoso {
height: 100%;
}
@@ -2354,7 +2402,7 @@
overflow-y: auto;
border-radius: 12px;
border: 1px solid var(--border-color);
background: var(--card-bg);
background: var(--bg-secondary-solid, var(--bg-primary));
padding: 12px;
display: flex;
flex-direction: column;
@@ -2662,6 +2710,8 @@
.table-wrap .contacts-list {
padding: 0 10px 10px;
min-height: 300px;
height: min(56vh, 560px);
}
.table-wrap .row-message-count {
@@ -2726,4 +2776,9 @@
.export-session-detail-panel {
width: calc(100vw - 12px);
}
.back-to-top-btn {
top: 10px;
right: 10px;
}
}