Sistema digital3.3
Padrões compartilhados
PropostoQuais componentes são construídos uma vez e usados por todos os sites?
Especificação
- Construídos uma vez na Brand e usados por todos os sites: a barra de grupo, o endosso, o bloco de grupo do rodapé com o diretório de unidades, o módulo da AKRIBIS One, o seletor de idioma, a linha legal, o formulário de contato, a página 404 e o consentimento. Prototipados primeiro neste site: esta página os mostra dentro de outras marcas, e este site os usa.
- O endosso é a linha «Una unidad de» («A unit of», «Uma unidade da»; o espanhol decidido na ADR-0005, os outros propostos) seguida do logotipo da AKRIBIS One a partir do arquivo publicado, tudo com link para akribis.one: em tamanho de barra com o anel liso, em bloco com o espectro, em branco sobre fundo escuro. Nunca «Parte de», nunca «AKRIBIS · One» composto em tipografia, nunca um anel redesenhado.
- A barra de grupo fica acima do cabeçalho de todo site de unidade, sobre a tinta teal da AKRIBIS One, idêntica em todos: o endosso no começo e o seletor de idioma no fim. A marca-mãe e a AKRIBIS One não a levam.
- O diretório de unidades é o registro na ordem de grade (ADR-0010): três categorias, três unidades cada, cada logotipo em sua cor a partir do arquivo publicado, seu verbo e o link para seu site. Um componente serve o rodapé de todos os sites e os diretórios de akribis.group e akribis.one; o site só escolhe se mostra os verbos.
- O módulo da AKRIBIS One no início de uma unidade: o anel com o espectro, o slogan e a segunda linha do registro no idioma da página, e o link para akribis.one.
- O formulário de contato: nome, organização, e-mail, telefone, assunto (uma unidade ou o grupo), mensagem e a linha de consentimento com link para a política de privacidade; cada campo com rótulo, autocomplete e inputmode; um honeypot em vez de um captcha de terceiros. Envia ao /contact do próprio site, que valida, repassa ao CRM com a origem do site e leva à página de obrigado no mesmo idioma. Uma implementação substitui as sete cópias de hoje, que enviam direto ao Salesforce sem consentimento.
- Um componente toma sua cor do arquivo de marca em que está: envolvido em data-brand="<marca>" com all.css, suas funções se resolvem para essa marca; nada é recolorido à mão.
- Cada padrão imprime um marcador data-pattern; a anatomia (3.2) diz onde cada um vai e o verificador (3.4) o confere.
- Onde vivem e como chegam (ADR-0031): no pacote @akribis/site, construído em cada build com os dados da marca dentro. Seus componentes são estes padrões; sua integração (akribis({ brand, kind, site })) configura o site; seu layout Shell.astro é a página; seu Worker serve o site e recebe o formulário; seu verificador roda após cada build. Este site usa os mesmos componentes do mesmo pacote.
- O lado servidor de /contact é o Worker do pacote, um por site: descarta o que preencheu o honeypot, valida os campos obrigatórios, reenvia ao CRM com o endereço e a origem do lead que as variáveis do Worker guardam (CONTACT_RELAY, SF_OID, LEAD_SOURCE) e leva à página de obrigado do mesmo idioma. Sem relay configurado responde 503; nunca perde uma mensagem em silêncio. O HTML não leva nenhum id do CRM nem script de terceiros.
- Os textos dos padrões (o link para pular, o seletor de idioma, o formulário, o 404, os títulos e descrições das páginas compartilhadas) são dados da Brand em brand/strings.yaml, publicados como /strings.json e dentro do pacote; um site os mostra e não traduz nenhum.
Para repensar
- O consentimento: nenhum site precisa hoje (nada rastreia); constrói-se quando um script exigir.
- Os modelos de conteúdo próprio (produto, serviço, caso, artigo) e o botão de WhatsApp que três sites flutuam.
- Se o anel gira nas órbitas dos sites (tema 2.2).
Evidência para auditar
- src/components/patterns/ · brand/units.yaml (endorsement) · brand/anatomy.yaml
- Audit (2026-10-05): endorsement wording «Una unidad de AKRIBIS · One» (akribis_info, akiot_es, solfarma_com), «Parte de AKRIBIS · One» (akleia_info); Portuguese «Uma unidade da» (akiot) and «de» (solfarma); akribis_info hard-codes the Spanish in every language
- Audit: the contact form posts to webto.salesforce.com from the browser on akribis_info (4 copies) and akiot_es, with a reCAPTCHA script; akleia_info and solfarma_com relay through worker.js; akribis_one uses mailto; no consent checkbox anywhere; one retURL ignores the language
- Audit: 5 language switchers, 95 hand-copied brand SVGs in three folders, the same file up to 5 times with 2 different hashes
- AKRIBIS-Group/design@main · packages/ui/ (an earlier component package, never consumed)
Entrega
- Os componentes em packages/site/src/components/, com exemplos ao vivo dentro de outras marcas
- os marcadores data-pattern
- a redação do endosso no registro e as cadeias em strings.json.