Comment afficher toujours la barre latérale comme panneau de menu ?

Sur une communauté, j’ai activé la barre latérale et ajusté la vue du panneau comme ceci :

J’aimerais toujours utiliser ce menu de panneau et ne pas basculer entre le panneau et la barre latérale en fonction de la largeur de la vue. Existe-t-il une déclaration simple pour y parvenir ?

2 « J'aime »

Pour le moment, ce n’est pas facilement configurable via SiteSetting.

Le comportement est contrôlé par NarrowDesktop

La solution potentielle serait de créer un plugin qui remplacerait la fonction isNarrowDesktopView pour qu’elle retourne toujours true.

Quelque chose comme initializers/always-narrow-view.js

import NarrowDesktop from "discourse/lib/narrow-desktop";

export default {
  name: "always-narrow-view",

  initialize(container) {
    NarrowDesktop.isNarrowDesktopView = () => true;
  }
}
3 « J'aime »

Merci Kris !! :sunny:

Je l’ai intégré dans un composant de thème et jusqu’à présent, cela semble fonctionner à merveille :sparkles:

Je vais continuer à jouer avec et à le tester un peu plus…

2 « J'aime »

J’adore la façon dont cela fonctionne pour les mises en page complètes, offrant un menu latéral généreux sans casser la mise en page :

Malheureusement, j’ai réalisé que cela change également le menu utilisateur pour qu’il apparaisse toujours en glissant. Ce n’est pas une expérience très agréable. Je suppose qu’il sera plus compliqué de découpler le comportement ?

En aparté, j’ai vu que le panneau du menu utilisateur a les classes :
.user-menu.revamped.menu-panel.slide-in
Mais le panneau du menu latéral n’a que les classes :
.revamped.menu-panel.slide-in
Je pense qu’il pourrait être utile d’avoir également une classe dédiée .sidebar-menu là-bas.

1 « J'aime »

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