fix(menu): cabeçalho não estoura em 360-375px e o menu aberto rola por inteiro
Release / Plano (reaproveitar a imagem?) (push) Successful in 6s
CI / Lint e auditorias (push) Successful in 53s
CI / Trivy (dependências e segredos) (push) Successful in 11s
CI / Imagem Docker (linux/arm64) (push) Successful in 4m8s
Release / ci (push) Successful in 5m15s
Release / Publica a imagem (linux/arm64) (push) Successful in 19s
Release / Cria a release no Gitea (push) Skipped
Release / Deploy no Coolify (push) Successful in 21s
Release / Plano (reaproveitar a imagem?) (push) Successful in 6s
CI / Lint e auditorias (push) Successful in 53s
CI / Trivy (dependências e segredos) (push) Successful in 11s
CI / Imagem Docker (linux/arm64) (push) Successful in 4m8s
Release / ci (push) Successful in 5m15s
Release / Publica a imagem (linux/arm64) (push) Successful in 19s
Release / Cria a release no Gitea (push) Skipped
Release / Deploy no Coolify (push) Successful in 21s
Abaixo de 390px o botão de tema vai para dentro do menu, que passa a rolar com o cartão do livro e os links juntos. Fechar e logo ganham área de toque de 44px. Verificado em 6 idiomas e de 320 a 430px sem nada ultrapassar o cabeçalho. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
23576b5c06
commit
bfc1a73104
2 files changed
+19
-4
No files matched your search
@@ -36,6 +36,10 @@ Tudo o que muda de relevante no ESPDocs está aqui. O formato segue o
|
||||
|
||||
### Corrigido
|
||||
|
||||
- Menu no celular: o botão do menu ultrapassava a borda do cabeçalho em 360 e 375 px. Abaixo
|
||||
de 390 px o botão de tema passa para dentro do menu. O menu aberto rola inteiro (cartão do
|
||||
livro e links juntos), então todos os itens ficam alcançáveis em telas baixas, e o botão de
|
||||
fechar e o logo ganharam área de toque de 44 px.
|
||||
- O build da imagem Docker repete até 3 vezes quando falha ao baixar as Google Fonts, falha
|
||||
intermitente que derrubava o CI com "next/font/google queries have exactly one entry".
|
||||
- Card do catálogo: o botão "Ver no AliExpress" fica sempre no rodapé, alinhado entre os cards.
|
||||
|
||||
+15
-4
@@ -360,7 +360,7 @@ export default function Header() {
|
||||
<div className="nav-pill flex h-16 items-center justify-between gap-1.5 rounded-full px-2.5 sm:gap-3 sm:px-4">
|
||||
<Link
|
||||
href={getLinkHref("/")}
|
||||
className="flex min-h-11 shrink-0 items-center gap-2.5 rounded-full pl-1 pr-2"
|
||||
className="flex min-h-11 min-w-11 shrink-0 items-center gap-2.5 rounded-full pl-1 pr-2"
|
||||
aria-label={
|
||||
isPt
|
||||
? "ESPDocs, página inicial"
|
||||
@@ -455,7 +455,9 @@ export default function Header() {
|
||||
</Link>
|
||||
<SearchDialog />
|
||||
<LanguageSelector />
|
||||
<ThemeToggle isPt={isPt} isEs={isEs} isFr={isFr} isDe={isDe} isZh={isZh} />
|
||||
<div className="max-[389px]:hidden">
|
||||
<ThemeToggle isPt={isPt} isEs={isEs} isFr={isFr} isDe={isDe} isZh={isZh} />
|
||||
</div>
|
||||
<button
|
||||
ref={menuButtonRef}
|
||||
type="button"
|
||||
@@ -523,13 +525,14 @@ export default function Header() {
|
||||
ref={closeRef}
|
||||
type="button"
|
||||
onClick={() => setDrawerOpen(false)}
|
||||
className="grid h-10 w-10 place-items-center rounded-full border border-line text-ink transition-colors hover:bg-surface-2"
|
||||
className="grid h-11 w-11 place-items-center rounded-full border border-line text-ink transition-colors hover:bg-surface-2"
|
||||
aria-label={isPt ? "Fechar menu" : isEs ? "Cerrar menú" : isFr ? "Fermer le menu" : isZh ? "关闭菜单" : isDe ? "Menü schließen" : "Close menu"}
|
||||
>
|
||||
<X className="h-5 w-5" aria-hidden="true" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div className="min-h-0 flex-1 overflow-y-auto overscroll-contain">
|
||||
{isPt && (
|
||||
<div className="px-4 pb-2">
|
||||
<Link
|
||||
@@ -557,7 +560,7 @@ export default function Header() {
|
||||
)}
|
||||
|
||||
<nav
|
||||
className="flex-1 overflow-y-auto px-3 py-2"
|
||||
className="px-3 py-2"
|
||||
aria-label={isPt ? "Navegação móvel" : isEs ? "Navegación móvil" : isFr ? "Navigation mobile" : isZh ? "移动端导航" : isDe ? "Mobile Navigation" : "Mobile navigation"}
|
||||
>
|
||||
{visibleMobileLinks.map((link) => (
|
||||
@@ -574,6 +577,14 @@ export default function Header() {
|
||||
))}
|
||||
</nav>
|
||||
|
||||
<div className="flex items-center justify-between gap-3 px-6 py-2 min-[390px]:hidden">
|
||||
<span className="text-sm font-medium text-ink-soft">
|
||||
{isPt ? "Tema" : isEs ? "Tema" : isFr ? "Thème" : isZh ? "主题" : isDe ? "Design" : "Theme"}
|
||||
</span>
|
||||
<ThemeToggle isPt={isPt} isEs={isEs} isFr={isFr} isDe={isDe} isZh={isZh} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="p-4 pt-2">
|
||||
<Link href={getLinkHref("/seletor")} onClick={() => setDrawerOpen(false)} className="btn btn-primary w-full">
|
||||
<SlidersHorizontal className="h-4 w-4" aria-hidden="true" />
|
||||
|
||||
Reference in new issue
Block a user