From 63ad6dbd6de89fcb4212afe666fcb5689404c66b Mon Sep 17 00:00:00 2001 From: Leo Borcherding Date: Wed, 1 Apr 2026 04:06:49 -0500 Subject: [PATCH] Fix OOM model styling in Studio model selectors (#4738) Replace strikethrough + opacity-50 OOM styling with gray text and red pill badge across all Studio model selectors (chat, training, onboarding). - Use gray-500/gray-400 for OOM model names (better contrast than strikethrough) - Red pill badge for OOM indicator with light/dark mode support - Scope GGUF gray override to quant name only so downloaded/recommended labels keep colors - Add !important on TIGHT/OOM badges to resist ComboboxItem hover overrides --- .../assistant-ui/model-selector/pickers.tsx | 13 ++++++------- .../components/steps/model-selection-step.tsx | 8 ++++---- .../src/features/studio/sections/model-section.tsx | 8 ++++---- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/studio/frontend/src/components/assistant-ui/model-selector/pickers.tsx b/studio/frontend/src/components/assistant-ui/model-selector/pickers.tsx index c072eb3096..74ca2542d4 100644 --- a/studio/frontend/src/components/assistant-ui/model-selector/pickers.tsx +++ b/studio/frontend/src/components/assistant-ui/model-selector/pickers.tsx @@ -127,23 +127,22 @@ function ModelRow({ className={cn( "flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-left text-sm transition-colors hover:bg-accent", selected && "bg-accent/60", - exceeds && "opacity-50", )} > {label} {vramStatus === "exceeds" && ( - OOM + OOM )} {vramStatus === "tight" && ( - TIGHT + TIGHT )} {meta ? ( {meta} @@ -354,7 +353,7 @@ function GgufVariantExpander({ )} > - {v.quant} + {v.quant} {v.downloaded ? ( downloaded @@ -367,12 +366,12 @@ function GgufVariantExpander({ {oom && ( - + OOM )} {tight && ( - + TIGHT )} diff --git a/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx b/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx index f2a4796c54..1ff23cb0fc 100644 --- a/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx +++ b/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx @@ -268,12 +268,12 @@ export function ModelSelectionStep() { {id} @@ -287,12 +287,12 @@ export function ModelSelectionStep() { {fitStatus === "exceeds" && ( - + OOM )} {fitStatus === "tight" && ( - + TIGHT )} diff --git a/studio/frontend/src/features/studio/sections/model-section.tsx b/studio/frontend/src/features/studio/sections/model-section.tsx index 755c93c5f0..775073eb64 100644 --- a/studio/frontend/src/features/studio/sections/model-section.tsx +++ b/studio/frontend/src/features/studio/sections/model-section.tsx @@ -489,12 +489,12 @@ export function ModelSection() { {id} @@ -519,12 +519,12 @@ export function ModelSection() { {fitStatus === "exceeds" && ( - + OOM )} {fitStatus === "tight" && ( - + TIGHT )}