Esta especificação define os requisitos para:
-
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; -
Ícone do Botão "Sair" no Menu: Corrigir a interpolação do atributo
#icon-lucide#na renderização do item de logout emgestor_pagina_menu()(gestor.php), garantindo que o ícone Lucidelog-out(ou Fomanticsign out alternate) seja exibido; -
URL de Retorno Dinâmica na Área Restrita (
restrict-area): No controladorperfil_usuario_area_restrita()(perfil-usuario.php) e nos templates deArea-restrita.html, substituir o link estático de retorno pela URL de redirecionamento ($redirectouperfil-usuario/) via marcador#url-voltar#, evitando voltar para a raiz do site; -
Mapeamento de Ícones para os 6 Módulos Restantes do
conn2flow-site: Cadastraricone_tailwindparapro-manager,pedidos,produtos,checkout,host-managerehost-user-manageremModulosData.json, descritores.jsone 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, invocarfechar(), 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'), invocarabrir().
-
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.phpegestor/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, trocarhref="@[[pagina#url-raiz]]@"porhref="#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/*.jsone 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
-
Responsividade Suave: Redimensionar manualmente a janela para viewport mobile recolhe a sidebar automaticamente.
-
Ícone de Logout Nítido: O botão "Sair" exibe o ícone
log-outno menu Tailwind. -
Retorno Coerente da Área Restrita: Clicar em "Voltar" na Área Restrita leva de volta para a tela de origem (ex:
/perfil-usuario/?mudar-[REDACTED]). -
Catálogo de Ícones 100% Coberto: Todos os 15 módulos do
conn2flow-sitepossuemicone_tailwindválidos. -
Testes:
composer testenpm run test100% verdes.