Some checks failed
Release Binaries / release (push) Has been cancelled
Features: - Binary-Free Mode: No OpenCode binary required - NomadArch Native mode with free Zen models - Native session management - Provider routing (Zen, Qwen, Z.AI) - Fixed MCP connection with explicit connectAll() - Updated installers and launchers for all platforms - UI binary selector with Native option Free Models Available: - GPT-5 Nano (400K context) - Grok Code Fast 1 (256K context) - GLM-4.7 (205K context) - Doubao Seed Code (256K context) - Big Pickle (200K context)
1.6 KiB
1.6 KiB
Task 050 - Selector Popover Tailwind Refactor
Goal
Bring ModelSelector and OpencodeBinarySelector popovers in line with the design tokens, eliminating manual light/dark class stacks.
Prerequisites
- Task 049 complete (dropdown utility helpers ready).
Acceptance Criteria
src/components/model-selector.tsxandsrc/components/opencode-binary-selector.tsxuse token-backed utilities for surfaces, borders, focus rings, and typography.- Shared selector utilities live in
src/styles/components.css(e.g.,.selector-trigger,.selector-option,.selector-section). - All
dark:bg-gray-*/text-gray-*combinations are removed in favor of tokens or newly added utilities. - Combobox states (highlighted, selected, disabled) and validation overlays preserve current UX.
Steps
- Map all class usages in both selectors, noting duplicated patterns (trigger button, list items, badges).
- Create selector-specific helpers in
components.cssthat rely on tokens. - Update component markup to use the helpers and Tailwind utility additions.
- Verify validation/binary version chips and search input styling in both themes.
Testing Checklist
- Run
npm run build. - In dev mode, open the selector popovers, search, and select options to confirm styling and focus rings.
Dependencies
- Depends on Task 049 dropdown helpers.
- Blocks folder selection advanced settings refactor.
Estimated Time
1.0 hour
Notes
- Branch suggestion:
feature/task-050-selector-popover-refactor. - Document any intentional color tweaks in the PR if tokens reveal contrast issues.