F NAV - Onglets de Navigation Mobiles

Mise à jour rapide concernant mon Fork de « F-NAV pour Mobile » avec bouton Retour, sous-menu personnalisé et contrôles de visibilité

Pourquoi ce fork ?

  • Fournir un bouton « Retour » dans l’en-tête des pages de sujets qui reflète l’UX courante des applications mobiles
  • Offrir un type d’onglet « customMenu » qui ouvre un sous-menu configurable (idéal pour lier plusieurs destinations ; nous l’utilisons pour ajouter des liens « Nouveau Sujet » pré-remplis personnalisés)
  • Ajouter une visibilité basée sur les groupes aux onglets et aux éléments de menu, afin que vous puissiez afficher certains éléments uniquement au personnel, etc.
  • Petites corrections pour certaines dépréciations et polissage des styles/accessibilité
Résumé des nouvelles fonctionnalités ajoutées
  • Icône Retour dans l’en-tête (optionnel)
    • Remplace le logo d’accueil de l’en-tête par une flèche de retour sur les pages de sujets
    • Comportement : revenir en arrière s’il y a un historique, sinon rediriger vers « / »
    • Activer/désactiver avec le paramètre : header_back_icon_enabled
  • Type d’onglet Sous-menu personnalisé
    • Nouvelle fonction f_nav_tabs : customMenu
    • Nouveau paramètre : f_nav_submenu_items
      • Configurer les éléments du menu avec un libellé et une URL (icône optionnelle)
      • Idéal pour un accès rapide à plusieurs pages depuis un seul onglet
  • Contrôles de visibilité basés sur les groupes
    • Les onglets, les éléments de sous-menu et les profile_extra_items peuvent être limités à des groupes sélectionnés
    • Comportement :
      • Groupes vides => visibles par tous
      • Si des groupes sont définis => seuls les membres d’au moins un groupe sélectionné peuvent voir
      • Les utilisateurs anonymes ne peuvent pas voir les éléments restreints
  • Optionnel : masquer la barre de navigation sur les pages de sujets
    • Activer/désactiver avec le paramètre : hide_nav_in_topic
  • Artefacts « build » zippés et documentation de test
    • Artefacts de build pratiques (v1–v5) sous builds/
    • TESTING_GUIDE.md et TEST_RESULTS.md documentant la validation manuelle

Améliorations des fonctionnalités existantes

  • Éléments et onglets F‑NAV
    • Ajoute le getter visibleTabs pour respecter la visibilité des groupes
    • Intègre le nouveau composant CustomSubmenu dans le flux FNavItem
  • Avatar/menu de profil dans l’en-tête
    • La détection de la vue mobile a été déplacée dans le composant, améliorant le comportement et résolvant les avertissements
    • Les éléments de profil supplémentaires prennent désormais en charge la visibilité basée sur les groupes
  • Style et accessibilité
    • Nouveau SCSS pour le sous-menu personnalisé et l’icône de retour
    • États cohérents de survol/actif/focus-visible
    • Rayon de bordure cohérent avec les variables de base ; remplissage/espacement affinés (par exemple, remplissage du bouton de retour défini à 0)

Corrections de bugs et maintenance

  • Résoudre les avertissements de dépréciation de site.mobileView en déplaçant les vérifications des initialisateurs vers le rendu des composants
  • Corriger un cas limite de rendu en déplaçant une fonction hors du bloc
  • Petit polissage pour correspondre aux comportements de l’en-tête Discourse (états de survol/actif, transitions d’opacité)
  • Petits nettoyages CSS (par exemple, s’assurer que le remplissage du bouton de retour est nul, éviter les changements de taille accidentels)

Comparaison de haut niveau (Branche originale vs Fork)

  • Original (main) : onglets mobiles F‑NAV + import facultatif du chat ; pas de bouton retour ni de sous-menu personnalisé
  • Fork (feat/home-logo-arrow-back) :
    • Ajoute la fonctionnalité d’icône de retour dans l’en-tête avec repli de routage
    • Introduit la fonction d’onglet « customMenu » avec des éléments de sous-menu configurables
    • Ajoute la visibilité restreinte par groupe pour les onglets, les éléments de sous-menu et les éléments de profil
    • Masque facultativement le F‑NAV sur les pages de sujets
    • Améliore l’accessibilité et la cohérence des états d’interaction
    • Fournit la documentation de test et les builds packagés

Remarques :

  • Ce composant cible les versions récentes de Discourse qui prennent en charge le niveau d’API de plugin Discourse 1.14+ (comme indiqué dans les initialisateurs)
  • Si vous dépendez de la visibilité basée sur les groupes, assurez-vous que vos groupes et vos adhésions sont configurés au préalable

Mot d’avertissement : Veuillez tester avec prudence car je ne suis pas un codeur, et le TC a été créé et testé entièrement avec l’IA. Fonctionne mieux avec la version 3.6beta1.

Mention spéciale à Don pour ce super composant ; c’est un ajout fantastique ! :heart:

2 « J'aime »