Repository navigation
feat(header): tira o menu ⋯; copiar caminho no breadcrumb, Arquivos e Alertas no topo e na gaveta - #12
Merged
Conversation
…ram botões do topo O menu (⋯) tinha só New tab (duplicado), Browse files e Alerts, e no celular paleta e Split. Agora: botão de copiar caminho junto ao título (vira check por 1,5 s), botão Files e sino de alertas (com o ponto quando desligado) no cabeçalho, Split fica no cabeçalho no celular e a paleta é a primeira linha da gaveta. Cabeçalho mais justo em <=480px para o título continuar elipsando. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…do título abaixo de 769px Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…no mesmo PR Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…menu More bundle.css espelha as regras de src/styles.css (.context-copy, .header-bell, .drawer-palette, media 768/480); Menu, CommandPalette, Button, Pill e o README deixam de citar o menu More do cabeçalho. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eta do celular - o botão de copiar muda do fim do breadcrumb para o título quando o breadcrumb quebra para fora da vista (ResizeObserver, .is-crumb-hidden); só um fica visível - sem API de clipboard (HTTP) abre o prompt do navegador com o caminho - o check de "copiado" guarda o caminho e o timer é limpo ao trocar e ao desmontar - até 480px, Arquivos e Alertas saem do cabeçalho e viram linhas da gaveta (.drawer-rows), com o ponto de alertas desligados no botão ☰; regras que encolhiam os botões removidas e o botão de copiar ganha o alvo de toque em pointer: coarse - rótulo de Arquivos some até 1100px para o título manter espaço - design-system, DESIGN.md e CHANGELOG atualizados; testes de cabeçalho em scripts/header-controls-regression.ts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…odo compacto e achados da revisão - caminho completo como primeira linha da gaveta (touch não tem tooltip) - botão de copiar limitado à linha do contexto (densidade compacta) - quebra do breadcrumb medida contra o fim da linha do título - aba com zoom no celular esconde o New tab do topo - botão da gaveta diz que os alertas estão desligados - remove HeaderCrumb.place; docs (DESIGN.md, design-system/, src/AGENTS.md) alinhados Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- caminho do drawer quebra após "/" e "\" e, em último caso, dentro de segmento longo - linhas do drawer (caminho, Files, Alerts) e o ponto do ☰ passam ao breakpoint do drawer (768px); paleta do header segue até 480px - check de "copiado" por pane + caminho; remove a classe morta is-drawer-cue - botão do sino em um helper só (header e drawer) - teste de header cobre tablet de 600px; DESIGN.md e design-system atualizados Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s no celular Files e o sino ficam no cabeçalho em qualquer largura (hover mostra o title); saem as linhas Files/Alerts da gaveta e o ponto no botão ☰. A gaveta mantém o caminho completo e a paleta. Até 480px a barra não mostra título, marca nem crumb: só ícones de --touch-target (a troca Chat/Terminal também), com gap e gutter reduzidos para caber em 360px. Todo botão do cabeçalho tem title e aria-label. Regressões, DESIGN.md, design-system e CHANGELOG atualizados. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No celular (até 480px) o cabeçalho não mostra mais o título do painel; a barra de abas passa a aparecer também com uma única aba, para o nome do painel estar sempre na tela. Acima de 480px nada muda. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ainel Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…terese, aba aberta no celular nomeia o painel - ResizeObserver do is-crumb-hidden via ref callback (state), refeito quando o header remonta - botão de copiar do título sempre ocupa o lugar (visibility), medida estável sem histerese - celular: aba ativa sempre com o título do painel em frente; renomear compara com o nome do herdr - TabStrip: phone/panesOf antes de nameOf; rótulo cortado com reticências no celular - remove drawer-toggle-wrap morto; linha da paleta no drawer só até 480px - testes e docs (DESIGN, design-system, CHANGELOG) ajustados Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o design system Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tbc-joaovitor
added a commit
that referenced
this pull request
Oct 8, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tbc-joaovitor
added a commit
that referenced
this pull request
Oct 9, 2026
* feat(marca): renomeia o app para DevDA e troca o ícone por <DA/>
Nenhuma string visível diz mais "herdr": marca do cabeçalho, rodapé, título da aba,
manifest, notificações, configurações, erros, demo e tela de bloqueio, em todos os
idiomas. A ferramenta herdr passa a ser "servidor de sessões". Nomes internos
(binário, HERDR_*, chaves de storage, rotas) ficam. Ícones vêm do design system
(?v=da2, cache do service worker v6).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(marca): corrige achados da revisão da marca DevDA
- design-system.json: aspas escapadas na nota (JSON inválido); novo teste scripts/design-system-json.test.ts parseia todos os JSON de design-system/
- split-regression: tooltip da versão agora "server … · build …"
- og:image:alt neutro enquanto o social-preview antigo não é trocado
- demo: aviso do terminal reajustado à largura original
- remote-host: mensagem do instalador sem "herdr"
- design-system: Pill ("session server offline") e README de DevIcons (fonte no repo do portal)
- favicon.png declarado como 32x32 nos sites
- REMOTE_BUNDLE_VERSION 19 -> 20 (strings do bundle remoto mudaram)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* feat(marca): imagem de compartilhamento DevDA; teste do celular confere o nome na faixa de abas
A imagem de compartilhamento (og:image) passa a ser o cartão DevDA (ícone <DA/>, nome,
frase em pt-BR e marca Data Agile no navy do portal), aprovado pelo usuário.
O split-regression ainda conferia o título no topo do celular, que saiu no #12: a
faixa de abas é que nomeia o painel. Já falhava na main.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* docs(changelog): link do PR #18
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* test: estabiliza duas corridas dos testes de navegador no runner lento do CI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que muda
O menu ⋯ do cabeçalho sai, e o que ele tinha vira controles diretos, conforme o mockup aprovado pelo usuário.
máquina › projeto › pasta). Se o breadcrumb não couber, o ícone passa para o lado do título; umResizeObserverdetecta a quebra. Ao clicar, o ícone vira ✓ por 1,5 s, valendo só para o painel atual. Em origem sem HTTPS, onde não há clipboard API, abre umwindow.promptcom o caminho./ou\). O ponto de "alertas desligados" passa para o ☰, e o nome acessível do ☰ diz isso.design-system/(README, Button, Pill, Menu, CommandPalette,bundle.css),DESIGN.mdesrc/AGENTS.mdatualizados. Regra nova noAGENTS.md: toda mudança de UI seguedesign-system/e o atualiza no mesmo PR.Verificação
bun run typecheck,bun run buildebun run test:unit(1576 pass, 0 fail).scripts/header-controls-regression.ts, chamado peloui-regression. Cobre: copiar no desktop (o clipboard recebe o cwd do painel), título longo em 900 px, celular, toque em 600 px, linhas da gaveta, tamanho de toque e Nova aba saindo com o zoom. Passa.ui-regressioné instável nesta máquina. Num teste A/B, rodando só os testes que falharam (38 vezes no branch, 35 naorigin/main), o branch falhou 2 vezes e a main 3, nas mesmas linhas (alert-sound-regression.ts:102/116/146,chat-size-regression.ts:163). É disputa de tempo entre os eventos de status e o auto-dismiss da droplet, não regressão deste PR./code-review highem sessão nova e/security-review(sem achados). Os achados foram corrigidos, exceto os listados abaixo.Ficaram de fora (conhecidos)
titleRoom = 0nessa largura.design-system/o que é exclusivo do fork, mas esta mudança de UI precisa mexer emsrc/App.tsxesrc/styles.css, que vêm do upstream. Os próximos merges do upstream podem dar conflito no cabeçalho.ResizeObservernão atualiza de forma síncrona).RowMenuque só o menu Mais usava (hint/checked) ficou sem chamadas. Foi mantido para não divergir do upstream.🤖 Generated with Claude Code