Как всегда отображать боковую панель как меню?

На сообществе я включил боковую панель и настроил вид панели следующим образом:

Я всегда хочу использовать это меню панели и не переключаться между панелью и боковой панелью в зависимости от ширины просмотра. Есть ли простое объявление для этого?

В данный момент это не легко настраивается через SiteSetting.

Поведение контролируется NarrowDesktop:

Возможное решение — создать плагин, который переопределяет функцию isNarrowDesktopView, чтобы она всегда возвращала true.

Например, файл initializers/always-narrow-view.js:

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

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

  initialize(container) {
    NarrowDesktop.isNarrowDesktopView = () => true;
  }
}

Спасибо, Крис!! :sunny:

Я обернул это в компонент темы, и пока всё работает как по маслу :sparkles:

Ещё немного поэкспериментирую и протестирую…

Мне очень нравится, как это работает для полностраничных макетов, предоставляя просторное боковое меню, не нарушая при этом структуру страницы:

К сожалению, я заметил, что это также заставляет меню пользователя всегда выезжать сбоку. Это не очень удобно. Думаю, что разделить эти поведения будет сложнее?

Кстати, я заметил, что у панели меню пользователя есть классы:
.user-menu.revamped.menu-panel.slide-in
А у панели бокового меню только:
.revamped.menu-panel.slide-in
По-моему, было бы полезно добавить туда отдельный класс .sidebar-menu.