Skip to content

Migrate remaining native <select>s to the Select primitive (missed by #151) #192

@openidle-dev

Description

@openidle-dev

The Radix-backed Select primitive migration (#151 / #152) replaced native <select> dropdowns — whose OS-rendered popup list ignores the app theme (notably unreadable on Windows dark/blue themes) — with themed popovers. Several call sites were missed. The Theme dropdown in SettingsDialog was migrated separately while fixing the light/blue themes; this issue tracks the rest.

Remaining native <select>s (13)

src/components/settings/SettingsDialog.tsx (9)

  • L234 — Editor Font Family (Appearance)
  • L303 — Keymap preset
  • L340 — Suggest objects from (SQL Completion)
  • L354 — Qualify objects (SQL Completion)
  • L683 — Import/Export delimiter
  • L712 — Import/Export quote char
  • L819 — AI model (AI Assistant)
  • L873 — Copy method (Copy/Transfer)
  • L945 — Copy logging level (Copy/Transfer)

src/components/layout/Toolbar.tsx (2)

  • L80 — Database selector (note: onChange is a no-op () => {} — verify whether this control is vestigial and should be removed rather than migrated)
  • L125 — Transaction isolation level

src/components/explorer/CreateTableDialog.tsx (1)

  • L138 — Column data type (high-traffic)

src/components/ui/ConfirmDialog.tsx (1)

  • L145 — Select-style confirm input

Acceptance

  • Each control uses src/components/ui/Select.tsx (options/value/onValueChange), preserving current values/behavior.
  • Verified readable across Dark, Light, and Blue themes (the popup list must follow the theme, not the OS).
  • L80 in Toolbar triaged: migrate or remove the dead no-op selector.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions