refactor(model-selector, connection-settings): streamline model name handling and enhance connection settings dialog with improved state management for enabled models

This commit is contained in:
Anish Sarkar 2026-06-13 18:18:03 +05:30
parent 01cb4f281e
commit 212c8af682
2 changed files with 107 additions and 57 deletions

View file

@ -42,10 +42,6 @@ type ChatModel = ModelRead & {
provider: string;
};
function modelName(model: ModelRead) {
return (model.display_name || model.model_id).replace(/\s+\(free\)$/i, "");
}
function connectionLabel(connection: ConnectionRead) {
if (connection.scope === "GLOBAL") return "Global";
return providerDisplay(connection.provider).name;
@ -69,6 +65,14 @@ function isFreeGlobalModel(model: ChatModel) {
return model.connectionScope === "GLOBAL" && model.billing_tier?.toLowerCase() === "free";
}
function modelName(model: ChatModel) {
const name = model.display_name || model.model_id;
if (model.connectionScope === "GLOBAL") {
return name.replace(/\s+\(free\)$/i, "");
}
return name;
}
function groupedModels(models: ChatModel[]) {
return models.reduce<Record<string, ChatModel[]>>((groups, model) => {
const key = model.connectionLabel;