Atualização rápida sobre meu Fork de “F-NAV para Mobile” com Botão Voltar, Submenu Personalizado e Controles de Visibilidade
Por que este fork?
- Fornece um botão “Voltar” no cabeçalho das páginas de tópico que espelha a UX comum de aplicativos móveis
- Oferece um tipo de aba “customMenu” que abre um submenu configurável (ideal para vincular a vários destinos; usamos para adicionar links personalizados pré-preenchidos de “Novo Tópico”)
- Adiciona visibilidade baseada em grupos para abas e itens de menu, para que você possa mostrar certos itens apenas para a equipe, etc.
- Pequenas correções com algumas depreciações e polimento de estilos/acessibilidade
Resumo sobre os recursos recém-adicionados aqui
- Ícone de Voltar no Cabeçalho (opcional)
- Substitui o logotipo inicial no cabeçalho por uma seta de voltar nas páginas de tópico
- Comportamento: volta se houver histórico, caso contrário, roteia para “/”
- Alternar com a configuração:
header_back_icon_enabled
- Tipo de aba Submenu Personalizado
- Nova função f_nav_tabs: customMenu
- Nova configuração: f_nav_submenu_items
- Configura itens de menu com rótulo e URL (ícone opcional)
- Ótimo para acesso rápido a várias páginas a partir de uma única aba
- Controles de visibilidade baseados em grupo
- Abas, itens de submenu e profile_extra_items podem ser limitados a grupos selecionados
- Comportamento:
- Grupos vazios => visível para todos
- Se grupos definidos => apenas membros de pelo menos um grupo selecionado podem ver
- Usuários anônimos não podem ver itens restritos
- Opcional: Ocultar barra de navegação em páginas de tópico
- Alternar com a configuração: hide_nav_in_topic
- Artefatos de “build” compactados e documentação de testes
- Artefatos de build de conveniência (v1–v5) em builds/
- TESTING_GUIDE.md e TEST_RESULTS.md documentando validação manual
Melhorias em recursos existentes
- Itens e abas do F‑NAV
- Adiciona o getter visibleTabs para respeitar a visibilidade do grupo
- Integra o novo componente CustomSubmenu no fluxo do FNavItem
- Avatar/menu de perfil no cabeçalho
- Detecção de visualização móvel movida para o componente, melhorando o comportamento e resolvendo avisos
- Itens extras de perfil agora suportam visibilidade baseada em grupo
- Estilização e acessibilidade
- Novo SCSS para o submenu personalizado e o ícone de voltar
- Estados consistentes de hover/ativo/focus-visible
- Raio de borda consistente com variáveis principais; preenchimento/espaçamento refinado (por exemplo, preenchimento do botão de voltar definido como 0)
Correções de bugs e manutenção
- Resolve avisos de depreciação de site.mobileView movendo verificações de inicializadores para a renderização do componente
- Corrige um caso de borda de renderização movendo uma função para fora do bloco
- Pequeno polimento para corresponder aos comportamentos do cabeçalho do Discourse (estados de hover/ativo, transições de opacidade)
- Pequenos ajustes de CSS (por exemplo, garantir que o preenchimento do botão de voltar seja zero, evitar mudanças acidentais de dimensionamento)
Comparação de alto nível (Branch Original vs. Forked)
- Original (main): Abas móveis F‑NAV + importação opcional de chat; sem botão de voltar ou submenu personalizado
- Fork (feat/home-logo-arrow-back):
- Adiciona recurso de ícone de voltar no cabeçalho com fallback de roteamento
- Introduz a função de aba “customMenu” com itens de submenu configuráveis
- Adiciona visibilidade restrita por grupo para abas, itens de submenu e itens de perfil
- Opcionalmente oculta o F‑NAV em páginas de tópico
- Melhora a a11y e a consistência dos estados de interação
- Fornece documentação de testes e builds empacotados
Observações:
- Este componente visa versões recentes do Discourse que suportam o nível 1.14+ da API de Plugins do Discourse (conforme indicado nos inicializadores)
- Se você depende de visibilidade baseada em grupo, certifique-se de que seus grupos e associações estejam configurados primeiro
Palavra de aviso: Teste com cautela, pois não sou um programador e o TC foi feito e testado inteiramente com IA. Funciona melhor com 3.6beta1.
Parabéns a Don por este ótimo componente; é uma adição fantástica! ![]()