Skip to content

UI: migrar dialog-select-server.tsx (legado) para componentes v2 #6

Closed

Description

@alltomatos

Parent

Epic: Evolução de UI/UX (ver ORCHESTRATOR-ROADMAP.md na branch dev).

What to build

Migrar packages/app/src/components/dialog-select-server.tsx (751 linhas, hoje 100% componentes legados: Button, IconButton, Icon, TextField, Dialog) para os equivalentes v2 (ButtonV2, IconButtonV2, Icon de @opencode-ai/ui/v2/icon, Field + TextInputV2 de @opencode-ai/ui/v2/*).

Atenção de API: TextField legado tem label/erro embutidos; TextInputV2 é só um <input> puro. Use o wrapper Field (packages/ui/src/v2/components/field-v2.tsx) — Field + Field.Label + Field.Control + Field.Suffix (para texto de erro/ajuda) — já usado como referência em packages/app/src/components/dialog-connect-omniroute.tsx (migração já concluída nesta mesma epic, usar como exemplo direto de como compor).

Este arquivo é grande e cobre múltiplos fluxos (listar servidores, adicionar servidor, editar servidor). Se o assignee achar mais seguro, pode dividir em sub-issues por fluxo — não é obrigatório, mas é aceitável.

Acceptance criteria

  • Nenhum import de Button, IconButton, Icon (legado) ou TextField remanescente no arquivo
  • Todos os campos de formulário (adicionar/editar servidor) mantêm label, placeholder e exibição de erro inline equivalentes ao comportamento legado
  • bun run typecheck limpo
  • Testado manualmente ponta a ponta: listar servidores, adicionar servidor novo (com e sem erro de validação), editar servidor existente, definir/remover padrão, excluir servidor (com o dialog de confirmação que já existe)

Blocked by

Nenhuma dependência dura, mas recomenda-se fazer depois de dialog-connect-omniroute.tsx (já concluído) para reaproveitar o padrão de campos.

Verification

bun run typecheck na raiz do monorepo + teste manual completo do fluxo de servidores no preview.

Nota de processo

Não é necessário publicar uma nova versão do app ao fechar esta issue.

Activity

  1. alltomatos commented on Aug 19, 2026

    @alltomatos
    OwnerAuthor

    Implementado no commit dcfeb8e3d (branch dev): Button/IconButton/Icon/TextField/DropdownMenu migrados para ButtonV2/IconButtonV2/IconV2/Field+TextInputV2/MenuV2 no formulário de add/edit, na lista de servidores e no diálogo de confirmação de remoção. Dialog e List permanecem legados propositalmente — não existe equivalente v2 para eles no design system ainda. Verificado via typecheck (sem erros); sem verificação visual ao vivo (preview sem backend acessível nesta sessão). Sem release associada; acumulando em dev.

  2. alltomatos commented on Aug 19, 2026

    @alltomatos
    OwnerAuthor

    Implementado e verificado (typecheck limpo, commits na dev conforme comentado acima). Fechando.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestui-uxUI/UX polish and consistency work

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions