fix(admin-ui): TimeTravelPicker → visual SVG timeline
This commit is contained in:
@@ -227,6 +227,18 @@ function DictionaryDetail() {
|
||||
})
|
||||
}
|
||||
|
||||
// Уникальные validFrom timestamps для timeline marks. Используем raw
|
||||
// recordsResult (не filtered) чтобы видеть все версии независимо от scope/q
|
||||
// фильтров.
|
||||
const recordTimestamps = useMemo(() => {
|
||||
const set = new Set<number>()
|
||||
for (const r of recordsResult.data ?? []) {
|
||||
const ts = new Date(r.validFrom).getTime()
|
||||
if (!Number.isNaN(ts)) set.add(ts)
|
||||
}
|
||||
return Array.from(set).sort((a, b) => a - b)
|
||||
}, [recordsResult.data])
|
||||
|
||||
const filteredRecords = useMemo(() => {
|
||||
const raw = recordsResult.data ?? []
|
||||
if (raw.length === 0) return raw
|
||||
@@ -624,6 +636,7 @@ function DictionaryDetail() {
|
||||
onChange={(iso) => setTimeTravelAt(iso)}
|
||||
onClear={() => setTimeTravelAt(undefined)}
|
||||
onClose={() => setTimeTravelOpen(false)}
|
||||
marks={recordTimestamps}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user