From e73a710c060c35e230ca816e1b2685f22af92d7a Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Mon, 25 Aug 2025 16:45:59 +0700 Subject: [PATCH 1/2] fix/update-ui-info --- web-app/src/components/ui/hover-card.tsx | 9 +- web-app/src/containers/ChatInput.tsx | 2 +- web-app/src/containers/ModelInfoHoverCard.tsx | 87 ++++--------------- web-app/src/containers/dialogs/EditModel.tsx | 12 +-- web-app/src/routes/hub/index.tsx | 19 ++-- .../settings/providers/$providerName.tsx | 10 ++- 6 files changed, 50 insertions(+), 89 deletions(-) diff --git a/web-app/src/components/ui/hover-card.tsx b/web-app/src/components/ui/hover-card.tsx index 00236b08a..a06451ead 100644 --- a/web-app/src/components/ui/hover-card.tsx +++ b/web-app/src/components/ui/hover-card.tsx @@ -6,7 +6,14 @@ import { cn } from '@/lib/utils' function HoverCard({ ...props }: React.ComponentProps) { - return + return ( + + ) } function HoverCardTrigger({ diff --git a/web-app/src/containers/ChatInput.tsx b/web-app/src/containers/ChatInput.tsx index 86f7e6b19..f7be420c7 100644 --- a/web-app/src/containers/ChatInput.tsx +++ b/web-app/src/containers/ChatInput.tsx @@ -562,7 +562,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => { -

{t('visions')}

+

{t('vision')}

diff --git a/web-app/src/containers/ModelInfoHoverCard.tsx b/web-app/src/containers/ModelInfoHoverCard.tsx index e540bed1a..4735e7260 100644 --- a/web-app/src/containers/ModelInfoHoverCard.tsx +++ b/web-app/src/containers/ModelInfoHoverCard.tsx @@ -5,11 +5,11 @@ import { } from '@/components/ui/hover-card' import { IconInfoCircle } from '@tabler/icons-react' import { CatalogModel, ModelQuant } from '@/services/models' -import { extractDescription } from '@/lib/models' interface ModelInfoHoverCardProps { model: CatalogModel variant?: ModelQuant + isDefaultVariant?: boolean defaultModelQuantizations: string[] modelSupportStatus: Record onCheckModelSupport: (variant: ModelQuant) => void @@ -19,12 +19,12 @@ interface ModelInfoHoverCardProps { export const ModelInfoHoverCard = ({ model, variant, + isDefaultVariant, defaultModelQuantizations, modelSupportStatus, onCheckModelSupport, children, }: ModelInfoHoverCardProps) => { - const isVariantMode = !!variant const displayVariant = variant || model.quants.find((m) => @@ -95,8 +95,8 @@ export const ModelInfoHoverCard = ({ {children || (
)} @@ -106,10 +106,10 @@ export const ModelInfoHoverCard = ({ {/* Header */}

- {isVariantMode ? variant.model_id : model.model_name} + {!isDefaultVariant ? variant?.model_id : model?.model_name}

- {isVariantMode + {!isDefaultVariant ? 'Model Variant Information' : 'Model Information'}

@@ -118,57 +118,21 @@ export const ModelInfoHoverCard = ({ {/* Main Info Grid */}
- {isVariantMode ? ( - <> -
- - File Size - - - {variant.file_size} - -
-
- - Quantization - - - {variant.model_id.split('-').pop()?.toUpperCase() || - 'N/A'} - -
- - ) : ( - <> -
- - Downloads - - - {model.downloads?.toLocaleString() || '0'} - -
-
- Variants - - {model.quants?.length || 0} - -
- - )} + <> +
+ + {isDefaultVariant + ? 'Maybe Default Quantization' + : 'Quantization'} + + + {variant?.model_id.split('-').pop()?.toUpperCase() || 'N/A'} + +
+
- {!isVariantMode && ( -
- - Default Size - - - {displayVariant?.file_size || 'N/A'} - -
- )}
Compatibility @@ -204,21 +168,6 @@ export const ModelInfoHoverCard = ({
)} - - {/* Content Section */} -
-
- {isVariantMode ? 'Download URL' : 'Description'} -
-
- {isVariantMode ? ( -
{variant.path}
- ) : ( - extractDescription(model?.description) || - 'No description available' - )} -
-
diff --git a/web-app/src/containers/dialogs/EditModel.tsx b/web-app/src/containers/dialogs/EditModel.tsx index 0f39216ae..68a268640 100644 --- a/web-app/src/containers/dialogs/EditModel.tsx +++ b/web-app/src/containers/dialogs/EditModel.tsx @@ -7,11 +7,7 @@ import { DialogTrigger, } from '@/components/ui/dialog' import { Switch } from '@/components/ui/switch' -import { - Tooltip, - TooltipContent, - TooltipTrigger, -} from '@/components/ui/tooltip' + import { useModelProvider } from '@/hooks/useModelProvider' import { IconPencil, @@ -19,7 +15,7 @@ import { IconTool, // IconWorld, // IconAtom, - IconCodeCircle2, + // IconCodeCircle2, } from '@tabler/icons-react' import { useState, useEffect } from 'react' import { useTranslation } from '@/i18n/react-i18next-compat' @@ -186,7 +182,7 @@ export const DialogEditModel = ({ />
-
+ {/*
@@ -208,7 +204,7 @@ export const DialogEditModel = ({ {t('providers:editModel.notAvailable')} -
+
*/} {/*
diff --git a/web-app/src/routes/hub/index.tsx b/web-app/src/routes/hub/index.tsx index 07dd0f85b..a4edad9fe 100644 --- a/web-app/src/routes/hub/index.tsx +++ b/web-app/src/routes/hub/index.tsx @@ -353,12 +353,7 @@ function Hub() { // Immediately set local downloading state addLocalDownloadingModel(modelId) const mmprojPath = model.mmproj_models?.[0]?.path - pullModelWithMetadata( - modelId, - modelUrl, - mmprojPath, - huggingfaceToken - ) + pullModelWithMetadata(modelId, modelUrl, mmprojPath, huggingfaceToken) } return ( @@ -661,6 +656,18 @@ function Hub() { defaultModelQuantizations={ defaultModelQuantizations } + variant={ + filteredModels[ + virtualItem.index + ].quants.find((m) => + defaultModelQuantizations.some((e) => + m.model_id.toLowerCase().includes(e) + ) + ) ?? + filteredModels[virtualItem.index] + .quants?.[0] + } + isDefaultVariant={true} modelSupportStatus={modelSupportStatus} onCheckModelSupport={checkModelSupport} /> diff --git a/web-app/src/routes/settings/providers/$providerName.tsx b/web-app/src/routes/settings/providers/$providerName.tsx index 9d456cc40..6f9e7efc0 100644 --- a/web-app/src/routes/settings/providers/$providerName.tsx +++ b/web-app/src/routes/settings/providers/$providerName.tsx @@ -584,10 +584,12 @@ function ProviderDetail() { } actions={
- + {provider && provider.provider !== 'llamacpp' && ( + + )} {model.settings && ( Date: Mon, 25 Aug 2025 16:51:30 +0700 Subject: [PATCH 2/2] chore: update filter hub while searching --- web-app/src/routes/hub/index.tsx | 35 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/web-app/src/routes/hub/index.tsx b/web-app/src/routes/hub/index.tsx index a4edad9fe..081009fcd 100644 --- a/web-app/src/routes/hub/index.tsx +++ b/web-app/src/routes/hub/index.tsx @@ -394,13 +394,13 @@ function Hub() { ) } }, [ + localDownloadingModels, downloadProcesses, llamaProvider?.models, isRecommendedModel, - downloadButtonRef, - localDownloadingModels, - addLocalDownloadingModel, t, + addLocalDownloadingModel, + huggingfaceToken, handleUseModel, ]) @@ -477,9 +477,9 @@ function Hub() { const isLastStep = currentStepIndex === steps.length - 1 const renderFilter = () => { - if (searchValue.length === 0) - return ( - <> + return ( + <> + {searchValue.length === 0 && ( @@ -504,17 +504,18 @@ function Hub() { ))} -
- - - {t('hub:downloaded')} - -
- - ) + )} +
+ + + {t('hub:downloaded')} + +
+ + ) } return (