fix(map): sort scheme queries by time

This commit is contained in:
2026-07-16 14:29:29 +08:00
parent dfaee645ff
commit 209da0d295
9 changed files with 90 additions and 22 deletions
@@ -124,6 +124,9 @@ const AnalysisParameters: React.FC<Props> = ({
});
const burstSchemes = (response.data as SchemeItem[]).filter(
(scheme) => scheme.scheme_type === "burst_analysis",
).sort(
(a, b) =>
dayjs(b.create_time).valueOf() - dayjs(a.create_time).valueOf(),
);
setFormField("schemes", burstSchemes);
@@ -1,6 +1,6 @@
"use client";
import React, { useState } from "react";
import React, { useMemo, useState } from "react";
import {
Box,
Button,
@@ -69,6 +69,16 @@ const SchemeQuery: React.FC<Props> = ({
const [loading, setLoading] = useState(false);
const schemes = externalSchemes !== undefined ? externalSchemes : internalSchemes;
const setSchemes = onSchemesChange || setInternalSchemes;
const sortedSchemes = useMemo(
() =>
schemes
.slice()
.sort(
(a, b) =>
dayjs(b.create_time).valueOf() - dayjs(a.create_time).valueOf(),
),
[schemes],
);
const buildDisplayResult = (
scheme: Pick<BurstDetectionSchemeRecord, "scheme_name" | "username" | "create_time">,
@@ -214,7 +224,7 @@ const SchemeQuery: React.FC<Props> = ({
</Box>
<Box className="flex-1 overflow-auto">
{schemes.length === 0 ? (
{sortedSchemes.length === 0 ? (
<Box className="flex h-full flex-col items-center justify-center text-center text-gray-400">
<Typography variant="body2"></Typography>
<Typography variant="caption" className="mt-1">
@@ -224,9 +234,9 @@ const SchemeQuery: React.FC<Props> = ({
) : (
<Box className="space-y-2 p-2">
<Typography variant="caption" className="px-2 text-gray-500">
{schemes.length}
{sortedSchemes.length}
</Typography>
{schemes.map((scheme) => {
{sortedSchemes.map((scheme) => {
const summary = scheme.scheme_detail?.result_summary;
const payload = scheme.scheme_detail?.result_payload;
const isBurst = payload?.summary?.burst_detected ?? summary?.burst_detected ?? false;