Masquer les tags et les badges du hamburger uniquement pour les invités

Je veux que l’interface utilisateur déconnectée soit aussi simple que possible, alors je me demandais si je pouvais masquer les tags et les badges du menu hamburger uniquement pour les invités.

Je sais que cela peut être fait facilement avec CSS à partir de ce post :

Mais comment vérifier la condition que l’utilisateur est un invité, puis masquer les éléments du menu ? J’ai probablement besoin d’appeler une fonction pour vérifier cela (tout comme WordPress), mais je n’ai aucune idée de comment cela fonctionnerait dans Discourse. Quelqu’un pourrait-il m’aider ?

Les utilisateurs anonymes ont une classe anon que vous pouvez cibler, vous pourriez donc utiliser quelque chose comme ceci :

.anon {
.hamburger-panel .menu-panel {
  a.latest-topics-link,
  a.top-topics-link,
  a.badge-link,
  li a.categories-link { 
    display: none
   }
  }
} 

(J’ai juste ajouté la classe anon à l’exemple de l’autre sujet. Vous devrez l’ajuster pour masquer les éléments spécifiques que vous souhaitiez)

3 « J'aime »

Cela a fonctionné à merveille. Merci ! La seule chose qu’il reste à cacher est le lien des tags, mais il ne semble pas avoir sa propre classe. Comment puis-je le cibler ? Avec la classe widget-link, cela masque les liens À propos, FAQ et Vue mobile.

1 « J'aime »

Celui-ci semble prometteur :

1 « J'aime »

Parfait. C’est le code final qui a fonctionné. J’ai aussi caché la barre de séparation. Merci Jammy !

/* masquer le lien tags et badges du menu hamburger pour les invités */
.anon {
.hamburger-panel .menu-panel {
  a.latest-topics-link,
  a.top-topics-link,
  a.badge-link,
  li a.widget-link[href="/tags"],
  .menu-container-general-links
    {
    display: none
   }
  }
}
3 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.