diff --git a/web/src/components/model-picker.tsx b/web/src/components/model-picker.tsx index 2080eceb7..65b03b62d 100644 --- a/web/src/components/model-picker.tsx +++ b/web/src/components/model-picker.tsx @@ -98,12 +98,12 @@ export function ModelPicker({ config, value, onChange, capability, className, fu onPointerDown={(event) => event.stopPropagation()} > {optionGroups.length ? optionGroups.map((group) => ( -
+
{group.label} {group.scope}
-
+
{group.models.map((model) => { const selected = model === current; return ( @@ -177,13 +177,13 @@ function emptyModelLabel(config: AiConfig, capability?: ModelCapability) { function ModelLabel({ config, model, capability, theme }: { config: AiConfig; model: string; capability?: ModelCapability; theme: (typeof canvasThemes)[keyof typeof canvasThemes] }) { const meta = modelMenuMeta(model, capability); return ( - + - + {modelDisplayName(config, model)} - {modelOptionName(model)} · {meta.description} + {modelOptionName(model)} · {meta.description} {meta.time ? {meta.time} : null} diff --git a/web/src/styles/globals.css b/web/src/styles/globals.css index 0245e34de..f6ce17aef 100644 --- a/web/src/styles/globals.css +++ b/web/src/styles/globals.css @@ -1604,6 +1604,8 @@ .canvas-model-picker-menu { max-height: min(420px, calc(100vh - 32px)); + min-width: 0; + overflow-x: hidden; overflow-y: auto; padding: 4px; } @@ -1621,6 +1623,7 @@ font-weight: 600; gap: 6px; letter-spacing: 0.02em; + min-width: 0; padding: 5px 7px 4px; } @@ -1631,8 +1634,11 @@ cursor: pointer; display: flex; gap: 8px; + max-width: 100%; min-height: 44px; + min-width: 0; outline: none; + overflow: hidden; padding: 6px 7px; text-align: left; transition: background-color var(--motion-instant) ease-out; @@ -1651,6 +1657,7 @@ .canvas-model-picker-option > span:first-child { flex: 1 1 auto; min-width: 0; + overflow: hidden; } .canvas-model-picker-option-check {