Conn2Flow
Navegação das docs

SDD

Requisição 126 — Mapeamento de Ícones do `conn2flow-site`, Auto-Recolhimento do Menu no Redimensionamento, Ícone do Botão Sair e URL de Retorno Dinâmica na Área Restrita

Esta especificação define os requisitos para: 1. Auto-Recolhimento Responsivo do Menu Lateral: No layout administrativo Tailwind (admin-tailwind.js), ao redimensionar a janela do…

Esta especificação define os requisitos para:

  1. Auto-Recolhimento Responsivo do Menu Lateral: No layout administrativo Tailwind (admin-tailwind.js), ao redimensionar a janela do navegador para larguras móveis ($\le 1024\text{px}$), o menu deve se recolher automaticamente (fechar()), exibindo apenas o botão de abrir no cabeçalho;

  2. Ícone do Botão "Sair" no Menu: Corrigir a interpolação do atributo #icon-lucide# na renderização do item de logout em gestor_pagina_menu() (gestor.php), garantindo que o ícone Lucide log-out (ou Fomantic sign out alternate) seja exibido;

  3. URL de Retorno Dinâmica na Área Restrita (restrict-area): No controlador perfil_usuario_area_restrita() (perfil-usuario.php) e nos templates de Area-restrita.html, substituir o link estático de retorno pela URL de redirecionamento ($redirect ou perfil-usuario/) via marcador #url-voltar#, evitando voltar para a raiz do site;

  4. Mapeamento de Ícones para os 6 Módulos Restantes do conn2flow-site: Cadastrar icone_tailwind para pro-manager, pedidos, produtos, checkout, host-manager e host-user-manager em ModulosData.json, descritores .json e migração.


1. Escopo Técnico e Frentes de Implementação

Frente 1: Auto-Recolhimento no Redimensionamento de Janela (admin-tailwind.js)

  • Arquivo: gestor/assets/global/admin-tailwind.js.

  • Solução:

    • No evento window.addEventListener('resize'):

    • Se a largura da tela for mobile (ehMobile() === true) e a sidebar estiver aberta, invocar fechar(), garantindo que o menu se recolha e o botão [data-admin-abrir] fique visível no topo.

    • Se a tela for expandida para desktop e a preferência do usuário não estiver marcada como fechada (store.getItem(CHAVE_FECHADO) !== 'true'), invocar abrir().

Frente 2: Ícone do Botão "Sair" em gestor_pagina_menu()

  • Arquivo: gestor/gestor.php (e bibliotecas associadas).

  • Solução:

    • Na renderização do botão de saída (linha ~540), interpolar tanto #icon# quanto #icon-lucide#:

      if($menuTailwind){
      $cel_icon = modelo_var_troca($cel_icon,"#icon-lucide#",'data-lucide="log-out"');
      $cel_icon = modelo_var_troca($cel_icon,"#icon#",'log-out');
      } else {
      $cel_icon = modelo_var_troca($cel_icon,"#icon-lucide#",'');
      $cel_icon = modelo_var_troca($cel_icon,"#icon#",'sign out alternate');
      }

Frente 3: URL de Retorno Dinâmica na Área Restrita

  • Arquivos: gestor/modulos/perfil-usuario/perfil-usuario.php e gestor/modulos/perfil-usuario/resources/{pt-br,en}/pages/Area-restrita/Area-restrita.html.

  • Solução:

    • Em perfil_usuario_area_restrita():

      $redirect = gestor_querystring_variavel($queryString, 'redirect');
      $urlVoltar = existe($redirect) ? $_GESTOR['url-raiz'] . ltrim($redirect, '/') : $_GESTOR['url-raiz'] . 'perfil-usuario/';
      $_GESTOR['pagina'] = modelo_var_troca($_GESTOR['pagina'], "#url-voltar#", $urlVoltar);
    • Em Area-restrita.html, trocar href="@[[pagina#url-raiz]]@" por href="#url-voltar#".

Frente 4: Mapeamento de Ícones dos Módulos do conn2flow-site

  • Arquivos: conn2flow-site/gestor/db/data/ModulosData.json, conn2flow-site/gestor/modulos/*.json e migração Phinx no Core.

  • Mapeamento:

    • pro-manager: clipboard-check

    • pedidos: receipt

    • produtos: package

    • checkout: shopping-cart

    • host-manager: server

    • host-user-manager: cloud


2. Critérios de Aceite

  1. Responsividade Suave: Redimensionar manualmente a janela para viewport mobile recolhe a sidebar automaticamente.

  2. Ícone de Logout Nítido: O botão "Sair" exibe o ícone log-out no menu Tailwind.

  3. Retorno Coerente da Área Restrita: Clicar em "Voltar" na Área Restrita leva de volta para a tela de origem (ex: /perfil-usuario/?mudar-[REDACTED]).

  4. Catálogo de Ícones 100% Coberto: Todos os 15 módulos do conn2flow-site possuem icone_tailwind válidos.

  5. Testes: composer test e npm run test 100% verdes.

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