Status dots passaram a azul (live)
Como o tema futwear90.dev é o publicado na loja, todos os status dots das entradas passaram de amarelo (staging) para azul (live). Hover mostra "Publicado em futwear90.dev (live)".

Esta página é interna. Mete a palavra-passe para continuares.

Diário das alterações ao tema Futwear90 — features novas, fixes, ajustes de design e infraestrutura. Atualizado a cada commit.

Como o tema futwear90.dev é o publicado na loja, todos os status dots das entradas passaram de amarelo (staging) para azul (live). Hover mostra "Publicado em futwear90.dev (live)".
Botão + Adicionar no cabeçalho do roadmap + ícones ✎ editar e × apagar ao passar o rato em cada item. Persistência em localStorage por browser — push do tema não toca. Suporta **bold** markdown.
4 KPIs no topo (alterações, ficheiros, dias, versão). Match clock no header estilo cronómetro de jogo (1ª/2ª parte). Chips de filtro funcionais + input de pesquisa (atalho /). Por entrada: status dot, link âncora #, botão copy markdown ⧉. Atalhos: J/K navegar, / procurar, ESC limpar.
Removido o sessionStorage que memorizava o acesso ao changelog. Agora o portão de palavra-passe aparece sempre que se recarrega ou reabre a página — mesmo no mesmo separador. Mais seguro caso alguém apanhe o ecrã desbloqueado.
Ao lado do copyright aparece agora um link discreto Changelogs (ponto volt como separador, texto cinza com underline pontilhado). Aponta para /pages/changelogs — quem clica vai parar ao portão de password.
A palavra-passe do portão deixa de ser uma definição editável no Customizer. Passa a estar fixa no topo do ficheiro sections/futwear-changelog.liquid na variável FW_CL_PASSWORD. Só os devs podem alterar — o lojista não tem acesso. Para desativar o portão, basta meter a variável a string vazia.
Nova secção futwear-changelog + template page.changelogs com portão de palavra-passe (sessionStorage, default futwear2026). Acesso fica memorizado até fechar o browser. noindex,nofollow no head — Google nunca a indexa.
Adicionado .shopifyignore que protege config/settings_data.json e templates/*.json. O shopify theme push nunca mais toca nas camisolas escolhidas pelo lojista nem nos blocos configurados no Customizer.
Overrides [data-theme="light"] para os cartões "Mais vendidos" no /cart (fundo branco, preço verde-floresta) e para os timers scoreboard. Estados warning/expired mantêm âmbar e vermelho.
Igual ao Drops da homepage — quando o lojista ainda não escolheu camisolas, aparecem 4 cartões "?" com instruções visuais. Inclui caixa volt tracejada no minicart com o caminho exato.
Os "Mais vendidos" do drawer mudaram de grid 2×2 para row horizontal com 4 cards visíveis. Setas volt aparecem conforme se navega. Limite aumentado para 12 produtos.
Em vez de criar uma coleção, agora há 8 campos de produto (mc_reco_1...mc_reco_8) em Definições do tema → Carrinho. Mantém-se fallback para a coleção cart_drawer_collection.
Reservado por 10 minutos com dígitos LED-style separados, : a piscar, contorno volt à esquerda e barra de progresso a esvair-se. Estados warning (60s) e expired (0s). Sincronizado entre /cart e minicart via sessionStorage.
Adicionada secção "Junta ao plantel." no fim do /cart — o lojista adiciona blocos "Produto" (até 12). Preset com 4 blocos pré-criados.
Faixa com SVGs oficiais (Apple Pay, G Pay, Mastercard, MB, MB WAY, VISA) debaixo de "Adicionar ao saco" e "Finalizar compra". 34px no desktop, 26px no drawer.
Removidos Produto autêntico, 100% original e Pagamento seguro. O perk "Envio 7 a 14 dias · Entrega estimada" passa a ocupar a linha inteira via :only-child.
html { zoom: 0.9 } só para viewports ≥ 1025px. Mobile fica em 100%.
Snippet JS bloqueia contextmenu, F12, Ctrl+Shift+I/J/C, Ctrl+U, Ctrl+S. Deterrente para casual scraping.