サイドバーを常にメニューパネルとして表示するにはどうすればよいですか?

コミュニティでサイドバーを有効にし、パネルビューを次のように調整しました。

ビューの幅に応じてパネルとサイドバーを切り替えるのではなく、常にそのパネルメニューを使用したいと考えています。それを実現するための簡単な宣言はありますか?

「いいね!」 2

現在、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;
  }
}
「いいね!」 3

クリスさん、ありがとうございます!:sunny:

テーマコンポーネントでラップしたところ、今のところうまくいっています :sparkles:

もう少し触ってテストしてみます..

「いいね!」 2

フルページレイアウトでサイドバーメニューがレイアウトを壊さずに表示されるのは良いのですが、残念ながらユーザーメニューも常にスライドインするように変更されてしまうことに気づきました。これはあまり良い体験ではありません。挙動を分離するのはもっと複雑になるのでしょうか?

サイドノートとして、ユーザーメニューパネルには .user-menu.revamped.menu-panel.slide-in というクラスが付与されているのに対し、サイドバーメニューパネルには .revamped.menu-panel.slide-in というクラスしか付与されていないことに気づきました。サイドバーメニューにも専用の .sidebar-menu クラスがあると役立つと思います。

「いいね!」 1

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