fix(tui): order connected provider models by release date (#29798)

This commit is contained in:
Aiden Cline
2026-05-28 16:37:32 -05:00
committed by GitHub
parent 1f707f1b52
commit 7b56a1cea3
2 changed files with 44 additions and 4 deletions

View File

@@ -73,6 +73,7 @@ export function DialogModel(props: { providerID?: string }) {
map(([model, info]) => ({
value: { providerID: provider.id, modelID: model },
title: info.name ?? model,
releaseDate: info.release_date,
description: favorites.some((item) => item.providerID === provider.id && item.modelID === model)
? "(Favorite)"
: undefined,
@@ -91,10 +92,7 @@ export function DialogModel(props: { providerID?: string }) {
return false
return true
}),
sortBy(
(x) => x.footer !== "Free",
(x) => x.title,
),
(options) => sortModelOptions(options, props.providerID !== undefined),
),
),
)
@@ -173,3 +171,15 @@ export function DialogModel(props: { providerID?: string }) {
/>
)
}
export function sortModelOptions<T extends { footer?: string; releaseDate: string; title: string }>(
options: T[],
newestFirst: boolean,
) {
if (newestFirst) return sortBy(options, [(option) => option.releaseDate, "desc"], (option) => option.title)
return sortBy(
options,
(option) => option.footer !== "Free",
(option) => option.title,
)
}