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
@@ -1,6 +1,6 @@
"use client";
import React, { useEffect, useState } from "react";
import React, { useEffect, useMemo, useState } from "react";
import ReactDOM from "react-dom";
import {
@@ -108,6 +108,16 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
const schemes = externalSchemes !== undefined ? externalSchemes : internalSchemes;
const setSchemes = onSchemesChange || setInternalSchemes;
const sortedSchemes = useMemo(
() =>
schemes
.slice()
.sort(
(a, b) =>
moment(b.create_time).valueOf() - moment(a.create_time).valueOf(),
),
[schemes],
);
useEffect(() => {
if (!map) return;
@@ -387,7 +397,7 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
{/* Results List */}
<Box className="flex-1 overflow-auto">
{schemes.length === 0 ? (
{sortedSchemes.length === 0 ? (
<Box className="flex flex-col items-center justify-center h-full text-gray-400">
<Box className="mb-4">
<svg
@@ -424,9 +434,9 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
) : (
<Box className="space-y-2 p-2">
<Typography variant="caption" className="text-gray-500 px-2">
{schemes.length}
{sortedSchemes.length}
</Typography>
{schemes.map((scheme) => (
{sortedSchemes.map((scheme) => (
<Card
key={scheme.id}
variant="outlined"