Conn2Flow
Navegação das docs

SDD

Requisição 204 — Layout por perfil 1:N, compilação multi-layout do Tailwind, popup da página inicial e versão pela API

Origem: REQ-085 do conn2flow-site (sdd/human-requests/release-hardening/req-085-correcoes-integradas-homologacao-site-core-hostmanager.md), aprovada pelo Engenheiro Chefe Humano…

Origem: REQ-085 do conn2flow-site (sdd/human-requests/release-hardening/req-085-correcoes-integradas-homologacao-site-core-hostmanager.md), aprovada pelo Engenheiro Chefe Humano em 2026-10-01 e atualizada no commit df21f40. A REQ-085 nomeia este repositório para os ajustes de usuarios-perfis e admin-paginas; esta requisição é o intake da parte que cabe ao core. Lote Vinculado: BATCH-212 (conn2flow core). Lote irmão: BATCH-079 no conn2flow-site. Status: in-review. Repositório: [REDACTED] Modo: autonomo_monitorado.


1. Contexto

A homologação do portal do cliente no Lab ([REDACTED]) mostrou quatro defeitos que só o core resolve:

  1. Sugestões da página inicial sempre visíveis (usuarios-perfis): a caixa #pagina-inicial-suggestions tem o atributo hidden, mas o display do Fomantic (.ui.menu) vence o atributo. A caixa aparece aberta sobre o formulário e cobre os botões.

  2. Mapeamento de layout por perfil sobrescreve (admin-paginas / publisher-pages, req-196): o JSON de paginas.layouts_users_profiles era {layout: perfil}. Dar o mesmo layout a um segundo perfil apagava o primeiro.

  3. Página sob layout alternativo sai sem o CSS do layout: a página bundle (tailwind_bundle) descarta o sidecar do layout, e o bundle foi compilado só com o layout padrão. Sob o layout trocado por perfil, as classes dele ficam sem regra.

  4. A API de sistema não informa a versão instalada: quem orquestra uma frota ([REDACTED] do conn2flow-site) não tem como saber de onde cada instalação parte.

2. Escopo

Item 1 — Popup de sugestões (usuarios-perfis)

  • Componente home-page-autocomplete (pt-br e en): a caixa e o botão "limpar" usam o par transition hidden do Fomantic, além do atributo hidden.

  • usuarios-perfis.js: abrir, fechar ao escolher, ao clicar fora e no Esc alternam classe e atributo juntos.

Item 2 — Mapa indexado por perfil

  • paginas.layouts_users_profiles passa a {perfil: layout}. Perfil repetido no formulário fica com a primeira linha.

  • Leitura única em gestor_layouts_perfis_mapa() (bibliotecas/gestor.php), usada pelo roteador, pelo formulário e pelos compiladores.

  • Migração Phinx inverte os registros gravados no formato antigo; registro já no formato novo, ou ambíguo, não é tocado.

Item 3 — Compilação multi-layout

  • css:rebuild (css-regenerar.php): página com mapeamento é compilada com o HTML dela, o do layout padrão e o de cada layout alternativo, lidos do banco, num CSS só; entra no escopo mesmo sem user_modified.

  • Build offline (tailwind-recursos.php): página cujo manifesto declara layouts_users_profiles recebe os layouts que existirem na árvore como fontes.

  • O CSS gerado começa com o marcador /*! c2f-layouts:a,b */. O runtime usa o CSS da página sozinho (modo bundle) só quando o layout em uso está no marcador; layout trocado e ainda não compilado mantém o sidecar do layout.

Item 4 — action=version em /_api/system/update

  • Autenticada como as demais ações; devolve versao ($_GESTOR['versao']).

3. Fora de escopo

  • Página bundle sem mapeamento editada online: o css:rebuild continua compilando só utilities para ela (comportamento anterior; achado registrado no BATCH-212).

  • Listagens e demais telas de usuarios-perfis.

4. Critérios de aceite

  1. A caixa de sugestões nasce fechada, abre sob o campo ao digitar e fecha ao escolher, ao clicar fora e no Esc.

  2. Dois perfis recebem o mesmo layout na mesma página e os dois pares são gravados e relidos.

  3. Registros no formato antigo são convertidos pela migração.

  4. Página mapeada, depois do css:rebuild, renderiza sob o layout padrão e sob o alternativo com as classes dos dois.

  5. action=version responde a versão instalada com autenticação.

  6. PHPUnit, Vitest e pipeline do projeto local com exit 0.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada