На сообществе я включил боковую панель и настроил вид панели следующим образом:
Я всегда хочу использовать это меню панели и не переключаться между панелью и боковой панелью в зависимости от ширины просмотра. Есть ли простое объявление для этого?
В данный момент это не легко настраивается через 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;
}
}
Спасибо, Крис!! ![]()
Я обернул это в компонент темы, и пока всё работает как по маслу ![]()
Ещё немного поэкспериментирую и протестирую…
Мне очень нравится, как это работает для полностраничных макетов, предоставляя просторное боковое меню, не нарушая при этом структуру страницы:
К сожалению, я заметил, что это также заставляет меню пользователя всегда выезжать сбоку. Это не очень удобно. Думаю, что разделить эти поведения будет сложнее?
Кстати, я заметил, что у панели меню пользователя есть классы:
.user-menu.revamped.menu-panel.slide-in
А у панели бокового меню только:
.revamped.menu-panel.slide-in
По-моему, было бы полезно добавить туда отдельный класс .sidebar-menu.