fix: display index sort

This commit is contained in:
hamster1963 2024-09-29 11:10:57 +08:00
parent ec5dc2742a
commit e324b9b98e

View File

@ -19,14 +19,25 @@ export default function ServerListClient() {
</div> </div>
); );
if (!data) return null; if (!data) return null;
const sortedServers = data.result.sort((a, b) => { const { result } = data;
if (a.display_index && b.display_index) {
return b.display_index - a.display_index; const positiveDisplayIndex = result
} .filter((server) => server.display_index > 0)
if (a.display_index) return -1; .sort((a, b) => b.display_index - a.display_index);
if (b.display_index) return 1;
return a.id - b.id; const noDisplayIndex = result
}); .filter((server) => !server.display_index)
.sort((a, b) => a.id - b.id);
const negativeDisplayIndex = result
.filter((server) => server.display_index < 0)
.sort((a, b) => b.display_index - a.display_index);
const sortedServers = [
...positiveDisplayIndex,
...noDisplayIndex,
...negativeDisplayIndex,
];
return ( return (
<section className="grid grid-cols-1 gap-2 md:grid-cols-2"> <section className="grid grid-cols-1 gap-2 md:grid-cols-2">
{sortedServers.map((serverInfo) => ( {sortedServers.map((serverInfo) => (