From 8afb962739409edc4ae652bb5cbda7b959be9450 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Mon, 26 May 2025 13:29:09 +0700 Subject: [PATCH] feat: add quick access model setting via dropdown model (#5104) * feat: add quick access model setting via dropdown model * Update web-app/src/containers/DropdownModelProvider.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- web-app/src/containers/DropdownAssistant.tsx | 13 +- .../src/containers/DropdownModelProvider.tsx | 212 ++++++++++-------- web-app/src/containers/ModelSetting.tsx | 42 +--- web-app/src/routes/hub.tsx | 2 +- .../settings/providers/$providerName.tsx | 2 +- 5 files changed, 129 insertions(+), 142 deletions(-) diff --git a/web-app/src/containers/DropdownAssistant.tsx b/web-app/src/containers/DropdownAssistant.tsx index eb3b17565..bd1e1fb78 100644 --- a/web-app/src/containers/DropdownAssistant.tsx +++ b/web-app/src/containers/DropdownAssistant.tsx @@ -33,9 +33,9 @@ const DropdownAssistant = () => { return ( <> -
+
- - - - - {providers.map((provider, index) => { - // Only show active providers - if (!provider.active) return null - - return ( -
+ +
+ + + + {selectedModel && ( + + )} +
+ + + {providers.map((provider, index) => { + // Only show active providers + if (!provider.active) return null - {provider.models.map((model, modelIndex) => { - const capabilities = model.capabilities || [] - - return ( - { - selectModelProvider(provider.provider, model.id) - updateCurrentThreadModel({ - id: model.id, - provider: provider.provider, + return ( +
+
+ + {`${provider.provider} + + {getProviderTitle(provider.provider)} + + +
+ navigate({ + to: route.settings.providers, + params: { providerName: provider.provider }, }) - }} + } > -
- - {model.id} - -
- + +
+
+ + {provider.models.map((model, modelIndex) => { + const capabilities = model.capabilities || [] + + return ( + { + selectModelProvider(provider.provider, model.id) + updateCurrentThreadModel({ + id: model.id, + provider: provider.provider, + }) + }} + > +
+ + {model.id} + +
+ +
-
- - ) - })} -
- ) - })} - - - + + ) + })} +
+ ) + })} +
+
+
+ ) } diff --git a/web-app/src/containers/ModelSetting.tsx b/web-app/src/containers/ModelSetting.tsx index cfcd6f9c2..7ccbc794b 100644 --- a/web-app/src/containers/ModelSetting.tsx +++ b/web-app/src/containers/ModelSetting.tsx @@ -13,12 +13,6 @@ import { useModelProvider } from '@/hooks/useModelProvider' import { updateModel } from '@/services/models' import { ModelSettingParams } from '@janhq/core' -// import { -// HoverCard, -// HoverCardContent, -// HoverCardTrigger, -// } from '@/components/ui/hover-card' - type ModelSettingProps = { provider: ProviderObject model: Model @@ -91,10 +85,10 @@ export function ModelSetting({ model, provider }: ModelSettingProps) { const config = value as ProviderSetting return (
-
+

{config.title}

-

+

{config.description}

@@ -109,38 +103,6 @@ export function ModelSetting({ model, provider }: ModelSettingProps) { }} onChange={(newValue) => handleSettingChange(key, newValue)} /> - {/*
- - -
-
- -
- - handleSettingChange(key, newValue) - } - /> -
-
- - {config.description} - -
-
*/}
) diff --git a/web-app/src/routes/hub.tsx b/web-app/src/routes/hub.tsx index e5faa9b39..7b22a4531 100644 --- a/web-app/src/routes/hub.tsx +++ b/web-app/src/routes/hub.tsx @@ -163,7 +163,7 @@ function Hub() {
-
+
} actions={ -
+