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
|
### 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
|
- 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".
|
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.
|
- 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">
|
<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
|
<Link
|
||||||
href={getLinkHref("/")}
|
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={
|
aria-label={
|
||||||
isPt
|
isPt
|
||||||
? "ESPDocs, página inicial"
|
? "ESPDocs, página inicial"
|
||||||
@@ -455,7 +455,9 @@ export default function Header() {
|
|||||||
</Link>
|
</Link>
|
||||||
<SearchDialog />
|
<SearchDialog />
|
||||||
<LanguageSelector />
|
<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
|
<button
|
||||||
ref={menuButtonRef}
|
ref={menuButtonRef}
|
||||||
type="button"
|
type="button"
|
||||||
@@ -523,13 +525,14 @@ export default function Header() {
|
|||||||
ref={closeRef}
|
ref={closeRef}
|
||||||
type="button"
|
type="button"
|
||||||
onClick={() => setDrawerOpen(false)}
|
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"}
|
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" />
|
<X className="h-5 w-5" aria-hidden="true" />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="min-h-0 flex-1 overflow-y-auto overscroll-contain">
|
||||||
{isPt && (
|
{isPt && (
|
||||||
<div className="px-4 pb-2">
|
<div className="px-4 pb-2">
|
||||||
<Link
|
<Link
|
||||||
@@ -557,7 +560,7 @@ export default function Header() {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<nav
|
<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"}
|
aria-label={isPt ? "Navegação móvel" : isEs ? "Navegación móvil" : isFr ? "Navigation mobile" : isZh ? "移动端导航" : isDe ? "Mobile Navigation" : "Mobile navigation"}
|
||||||
>
|
>
|
||||||
{visibleMobileLinks.map((link) => (
|
{visibleMobileLinks.map((link) => (
|
||||||
@@ -574,6 +577,14 @@ export default function Header() {
|
|||||||
))}
|
))}
|
||||||
</nav>
|
</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">
|
<div className="p-4 pt-2">
|
||||||
<Link href={getLinkHref("/seletor")} onClick={() => setDrawerOpen(false)} className="btn btn-primary w-full">
|
<Link href={getLinkHref("/seletor")} onClick={() => setDrawerOpen(false)} className="btn btn-primary w-full">
|
||||||
<SlidersHorizontal className="h-4 w-4" aria-hidden="true" />
|
<SlidersHorizontal className="h-4 w-4" aria-hidden="true" />
|
||||||
|
|||||||
Reference in new issue
Block a user