Skip to content

Unify model selector collapsed state layout to match dropdown list style #2063

@blinkagent

Description

@blinkagent

Problem

The model selector has inconsistent visual styling between its collapsed (selected) state and the dropdown list items:

Collapsed state (selected model):

  • Shows only: small provider icon + model name text
  • Plain text styling with minimal visual hierarchy
  • Gateway icon floats separately to the left

Dropdown list items:

  • Grid layout with: model name | gateway toggle | visibility toggle | default star
  • Provider icon is embedded with the circled (M) badge style
  • Action icons have button-like borders and consistent alignment
  • Rich visual feedback with borders and hover states

Desired Behavior

Unify the collapsed/selected state to visually match the dropdown list item style:

  • Use the same layout structure as list items (though without the action buttons)
  • Show the provider icon with the same styling/badge treatment
  • Consistent typography and spacing
  • The selected model should look like a "selected list item" rather than plain text

This would make it immediately clear which model is selected when scanning the UI, and create a cohesive visual language throughout the model selector component.

Reference

Current implementation: src/browser/components/ModelSelector.tsx

The list items use a grid layout (lines ~385-390):

<div className="grid w-full min-w-0 grid-cols-[1fr_20px_30px_30px] items-center gap-1">

While the collapsed state uses a simpler flex layout (lines ~345-350):

<div className="flex items-center gap-1">
  <ProviderIcon provider={innerProvider} className="h-3 w-3 shrink-0 opacity-70" />
  <span>{formatModelDisplayName(modelName)}</span>
</div>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions