Barre latérale fermée par défaut

Bonjour :waving_hand:

Merci @nathank d’avoir créé un sujet pour ce composant de thème ! :hugs:

Je pense que quelque chose comme cela devrait fonctionner de nos jours. Cette approche ne fermera la barre latérale que lors du chargement initial, et par la suite, elle reviendra au comportement par défaut (en se souvenant de la préférence de l’utilisateur).

import { apiInitializer } from "discourse/lib/api";

const HIDE_SIDEBAR_KEY = "sidebar-hidden";
const INITIALIZED_KEY = "closed-sidebar-by-default-initialized";

export default apiInitializer("1.8.0", (api) => {
  const keyValueStore = api.container.lookup("service:key-value-store");
  const userGroups = settings.user_in_closed_sidebar_groups;

  if (userGroups) {
    if (!keyValueStore.getItem(INITIALIZED_KEY)) {
      keyValueStore.setItem(HIDE_SIDEBAR_KEY, "true");
      keyValueStore.setItem(INITIALIZED_KEY, "true");
    }
  } else {
    if (keyValueStore.getItem(INITIALIZED_KEY)) {
      keyValueStore.removeItem(HIDE_SIDEBAR_KEY);
      keyValueStore.removeItem(INITIALIZED_KEY);
    }
  }
});
2 « J'aime »