fix(export): hide cache meta row and adjust info popover anchor

This commit is contained in:
tisonhuang
2026-03-05 10:24:01 +08:00
parent 28257ba66f
commit 4adedad0de
2 changed files with 2 additions and 44 deletions

View File

@@ -63,7 +63,7 @@
.section-info-popover {
position: absolute;
top: calc(100% + 8px);
right: 0;
left: 0;
width: min(340px, calc(100vw - 40px));
border-radius: 10px;
border: 1px solid var(--border-color);

View File

@@ -1061,7 +1061,7 @@ function ExportPage() {
const [selectedSessions, setSelectedSessions] = useState<Set<string>>(new Set())
const [contactsList, setContactsList] = useState<ContactInfo[]>([])
const [isContactsListLoading, setIsContactsListLoading] = useState(true)
const [contactsDataSource, setContactsDataSource] = useState<ContactsDataSource>(null)
const [, setContactsDataSource] = useState<ContactsDataSource>(null)
const [contactsUpdatedAt, setContactsUpdatedAt] = useState<number | null>(null)
const [avatarCacheUpdatedAt, setAvatarCacheUpdatedAt] = useState<number | null>(null)
const [sessionMessageCounts, setSessionMessageCounts] = useState<Record<string, number>>({})
@@ -3335,22 +3335,6 @@ function ExportPage() {
}
}, [])
const contactsUpdatedAtLabel = useMemo(() => {
if (!contactsUpdatedAt) return ''
return new Date(contactsUpdatedAt).toLocaleString()
}, [contactsUpdatedAt])
const avatarCacheUpdatedAtLabel = useMemo(() => {
if (!avatarCacheUpdatedAt) return ''
return new Date(avatarCacheUpdatedAt).toLocaleString()
}, [avatarCacheUpdatedAt])
const contactsAvatarCachedCount = useMemo(() => {
return contactsList.reduce((count, contact) => (
contact.avatarUrl ? count + 1 : count
), 0)
}, [contactsList])
const contactsIssueElapsedMs = useMemo(() => {
if (!contactsLoadIssue) return 0
if (isContactsListLoading && contactsLoadSession) {
@@ -3876,32 +3860,6 @@ function ExportPage() {
</div>
</div>
<div className="table-cache-meta">
<span className="meta-item">
{filteredContacts.length} / {contactsList.length}
</span>
{contactsUpdatedAt && (
<span className="meta-item">
{contactsDataSource === 'cache' ? '缓存' : '最新'} · {contactsUpdatedAtLabel}
</span>
)}
{contactsList.length > 0 && (
<span className="meta-item">
{contactsAvatarCachedCount}/{contactsList.length}
{avatarCacheUpdatedAtLabel ? ` · 更新于 ${avatarCacheUpdatedAtLabel}` : ''}
</span>
)}
{isContactsListLoading && contactsList.length > 0 && (
<span className="meta-item syncing">...</span>
)}
{isLoadingSessionCounts && (
<span className="meta-item syncing">
<Loader2 size={12} className="spin" />
</span>
)}
</div>
{contactsList.length > 0 && isContactsListLoading && (
<div className="table-stage-hint">
<Loader2 size={14} className="spin" />