Skip to content

NativeSelect options unreadable in dark mode #1227

Description

@sundaram2021

Summary

Dark-mode <select> options render as light-gray text on a white popup — only the highlighted row is legible. Affects the Resume approvals dropdown in setup-mcp.tsx and mcp-install-card.tsx (shared NativeSelect).

Screenshot

Image

Repro

  1. Use the app in dark mode (prefers-color-scheme: dark)
  2. Connect MCP → Advanced → open Resume approvals

Expected: all options readable · Actual: unselected options washed out.

Cause

The native popup's light/dark theme follows the <select>'s opaque background-color, not color-scheme or <option> styles. native-select.tsx uses bg-transparent → white popup + near-white option text. Its dark:bg-input/30 never applies (the dark: variant is class-gated, but dark mode is prefers-color-scheme-driven).

Fix

In packages/react/src/components/native-select.tsx, give the <select> a solid themed surface:

  • bg-transparentbg-popover text-popover-foreground
  • drop dark:bg-input/30 dark:hover:bg-input/50, add hover:bg-accent
  • pin colorScheme via useIsDark()

Happy to open a PR once assigned.

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