Design system
App shell
Componentes que definem o envolvimento do site: cabeçalho fixo, rodapé, logótipo, ligações de fontes, layouts Astro que devolvem um documento HTML completo (placeholder, arquivo e ficha CPT), o layout legado usado nalgumas rotas WordPress, e a integração WordPress (blocos Gutenberg, SEO, artigos, eventos, i18n).
Chrome
Shell ID
nomia-chrome-header
Componente
NomiaHeader
src/components/navigation/header/NomiaHeader.astro
Cabeçalho fixo com navegação, pesquisa e script de contraste sobre superfícies claras (atributo data-nomia-header-surface). Já montado no topo desta página — não duplicar em pré-visualização.
Shell ID
nomia-chrome-logo
Componente
NomiaLogo
src/components/navigation/header/NomiaLogo.astro
Head
Shell ID
nomia-appshell-font-links
Componente
FontLinks
src/components/layout/FontLinks.astro
Preconnect e folhas de estilo Google Fonts (Montserrat, Inter, DM Sans). Incluir no head de cada página.
Layouts (documento completo)
Shell ID
nomia-appshell-base-layout
Componente
BaseLayout
src/layouts/BaseLayout.astro
Documento mínimo para rotas WordPress (pt/en): FontLinks, slot de conteúdo e rodapé NomiaFooter — não aninhar dentro de outra página.
Shell ID
nomia-layout-placeholder-shell
Componente
NomiaPlaceholderShell
src/components/layout/NomiaPlaceholderShell.astro
Página placeholder: documento completo com html, header Nomia, main com título e lead, e footer. Usada em rotas estáticas até haver conteúdo WordPress.
Shell ID
nomia-layout-cpt-archive-shell
Componente
NomiaCptArchiveShell
src/components/content/cpt/NomiaCptArchiveShell.astro
Listagem CPT: documento completo com header, lista de entradas (ligação por uri WordPress) e footer. Props: pageTitle, items.
Shell ID
appshell-cpt-single-shell
Componente
AppshellCptSingleShell
src/components/content/cpt/AppshellCptSingleShell.astro
Ficha CPT: documento completo com título, data, HTML de conteúdo e ligação ao arquivo. Props: title, dateIso, contentHtml, archiveHref, archiveLabel.
Integração WordPress
Block ID
nomia-integration-wp-block-renderer
Componente
WpBlockRenderer
src/components/wp-blocks/WpBlockRenderer.astro
Motor de renderização de blocos Gutenberg — compor a partir de dados WPGraphQL, não como secção isolada.
Block ID
nomia-integration-wp-block
Componente
WpBlock
src/components/wp-blocks/WpBlock.astro
Despacho por tipo de bloco (`__typename`) para os mapeamentos em `wp-blocks/blocks/`.
Block ID
nomia-integration-wp-core-heading
Componente
CoreHeading
src/components/wp-blocks/blocks/CoreHeading.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-wp-core-paragraph
Componente
CoreParagraph
src/components/wp-blocks/blocks/CoreParagraph.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-wp-core-image
Componente
CoreImage
src/components/wp-blocks/blocks/CoreImage.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-seo
Componente
SEO
src/components/layout/SEO.astro
Meta tags e JSON-LD — incluir no `<head>` das páginas.
Block ID
nomia-integration-wp-article
Componente
WpArticle
src/components/content/WpArticle.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-wp-homepage-content
Componente
WpHomepageContent
src/components/content/WpHomepageContent.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-evento-detail
Componente
EventoDetail
src/components/content/EventoDetail.astro
Componente de documento completo — não pré-visualizar aqui (evita header/footer duplicados).
Block ID
nomia-integration-language-switcher
Componente
LanguageSwitcher
src/components/navigation/LanguageSwitcher.astro
Comutador de idioma quando existem rotas localizadas (pt/en).