From 5fdb09b02d36a9628dca7512c1f6b7370cca016c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=9F=BA=E9=AD=81?= <1412414664@qq.com> Date: Mon, 6 Jul 2026 12:20:40 +0800 Subject: [PATCH] fix(registry): sort group servers alphabetically MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 冯基魁 <1412414664@qq.com> --- .../(registry)/registry-group_.$name.tsx | 42 ++++++++++--------- .../__tests__/registry-group_.$name.test.tsx | 3 ++ 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/renderer/src/routes/(registry)/registry-group_.$name.tsx b/renderer/src/routes/(registry)/registry-group_.$name.tsx index 6110aee25..f9371d077 100644 --- a/renderer/src/routes/(registry)/registry-group_.$name.tsx +++ b/renderer/src/routes/(registry)/registry-group_.$name.tsx @@ -43,6 +43,20 @@ function RegistryGroupDetail() { const hasServers = Object.keys(group?.servers ?? {}).length > 0 || Object.keys(group?.remote_servers ?? {}).length > 0 + const groupServers = [ + ...Object.entries(group?.servers ?? {}).map(([key, srv]) => ({ + key: `local-${key}`, + server: srv as RegistryImageMetadata, + })), + ...Object.entries(group?.remote_servers ?? {}).map(([key, srv]) => ({ + key: `remote-${key}`, + server: srv as RegistryRemoteServerMetadata, + })), + ].sort((a, b) => + (a.server.name ?? '').localeCompare(b.server.name ?? '', undefined, { + sensitivity: 'base', + }) + ) return (
@@ -73,26 +87,14 @@ function RegistryGroupDetail() { - {Object.entries(group?.servers ?? {}).map( - ([key, srv]: [string, RegistryImageMetadata]) => ( - - - {srv.name} - - {srv.description} - - ) - )} - {Object.entries(group?.remote_servers ?? {}).map( - ([key, srv]: [string, RegistryRemoteServerMetadata]) => ( - - - {srv.name} - - {srv.description} - - ) - )} + {groupServers.map(({ key, server }) => ( + + + {server.name} + + {server.description} + + ))}
diff --git a/renderer/src/routes/__tests__/registry-group_.$name.test.tsx b/renderer/src/routes/__tests__/registry-group_.$name.test.tsx index e5cbbe95e..b0dd96334 100644 --- a/renderer/src/routes/__tests__/registry-group_.$name.test.tsx +++ b/renderer/src/routes/__tests__/registry-group_.$name.test.tsx @@ -255,6 +255,9 @@ describe('Registry Group Detail Route', () => { const bodyRows = allRows.slice(1) // skip header row expect(bodyRows).toHaveLength(3) + expect( + bodyRows.map((row) => within(row).getAllByRole('cell')[0]?.textContent) + ).toEqual(['anthropic-server', 'huggingface-remote', 'openai-server']) expect(screen.getByText('openai-server')).toBeVisible() expect(screen.getByText('OpenAI API integration for Claude')).toBeVisible()