コラボレーション設定でチャットをデフォルトで全画面表示にする

チャットをメンバー間のコミュニケーションのプライマリスクエアとして位置付け、他のコラボレーションプラットフォームと同様に機能させるコラボレーション設定に取り組んでいます。メンバーがサイトにアクセスした際に、チャットが中心となるように、チャネルや最新のスレッドに直接アクセスできるようにすることが目標です。

そのため、以下のようなビューに着地するのではなく:

チャットがフルスクリーンで表示されるようにしたいと考えています:

現在、チャットをデフォルトでフルスクリーンモードで開く方法はないようです。この機能を追加していただけないでしょうか?

サイト設定、テーマモディファイア、または値トランスフォーマーとして公開することができます。これにより、テーマ作成者やサイト管理者は、チャットをデフォルトのインタラクションビューとして統合する柔軟性を持つことができます。

「いいね!」 5

初期化子はこのように記述できます。

export default {
  name: "default-full-page-chat",

  initialize() {
    if (!window.localStorage.getItem("discourse_chat_preferred_mode")) {
      window.localStorage.setItem("discourse_chat_preferred_mode", '\"FULL_PAGE_CHAT\"');
    }
  },
};

これで希望どおりになるはずです。

「いいね!」 8

本当に、うまくいきました!ありがとうございます :blush:

「いいね!」 7

解決済みであることは承知していますが、ローカルストレージに直接アクセスする代わりに、テーマからプラグインサービスにアクセスできる場合は、次のようにすることができます。

export default {
  name: "default-full-page-chat",

  initialize(container) {
    const chat = container.lookup("service:chat");
    if (!chat.userCanChat) {
      return;
    }

    const chatStateManager = container.lookup("service:chat-state-manager");
    chatStateManager.prefersFullPage();
  },
};

これは次を呼び出します。

これは、機能する場合(テストしていません:sweat_smile:)、長期的に見てより信頼性が高くなります。

「いいね!」 5

はい、サービスを使う方が良いですが、現時点ではサービスを通じて設定された設定があるかどうかを確認する方法はないと思います。そうでしょうか?

そして、ここでリクエストを理解していれば、ユーザーの決定を上書きしたくありません。最初のロード時にフルスクリーンを推奨したいだけです。強制的にそうしたいだけなら、あなたの解決策は機能します。

「いいね!」 4

これらがありますが、設定がされていない場合 isDrawerPreferred は常に true になります。

この状況のために、ストアをチェックするだけの hasNoPreferredMode ゲッターがあれば良いと思います。PRはこちらです。

「いいね!」 4

@manuel このPRはマージされたので、Full-screen chat as default for collaboration setup - #4 by martin で説明したプラグインAPIと、チャットステートマネージャーのhasNoPreferredModeを使用できます。

「いいね!」 2

こんにちは @nolo、簡単なメモです:

フルスクリーンチャットモードでは、通常、フルスクリーンを終了するか(またはチャットUIを別の方法で変更する)必要があります。そうしないと、チャットのリストに戻ったり、別のメンバーとの会話に切り替えたりするための明確なオプションが表示されません。

フルスクリーン内でのナビゲーション体験を改善する方法があるかどうか検討する価値があるかもしれません。

@martin 様、ありがとうございます。これは素晴らしいですね!

現在のケースでUXをテストしたところ、チャットを常にフルスクリーン表示する方が直感的だと感じました。チャットを主要なコミュニケーション手段にしたいのですが、最小化を許可すると、ユーザーが意図せず選択していない画面にたどり着き、混乱を招く可能性があります。

最小化オプションを非表示にするためにCSSを使用することを考えていますが、無効にするためのより直接的な方法があれば教えていただけますか?


@jahan_gagan 様 ハンバーガーメニューでナビゲーションを行うサイトについて言及されているのか、よくわかりません。私の設定では、すべてのナビゲーションオプションはサイドバーから利用できます。

しかし、1つの問題に遭遇しました。タブレットでは、チャットチャンネルに移動するとキーボードが自動的に表示され、レイアウトが非常に不安定になります。まだ対処法は調べていませんが、複雑な点としてメモしておきます。

「いいね!」 3

はい、折りたたみボタンを非表示にすれば機能しますが、ユーザーがドロワーモードに戻る別の方法があることを確認しました。フォーラムにいるときに「-」キーを押すと、チャットドロワーが開きます。

そして、この関数で chatStateManager.prefersDrawer() を呼び出し、ローカルストレージの設定を行います。最近、チャット専用モードを許可することについて、内部でさらに議論があり、この方向での実験や、ドロワーモードに関するアイデアも含まれています。

いつこれに集中する時間が来るかわかりませんが、@mcwumbly または @lindsey が何か意見を持っているかもしれません。

「いいね!」 2

ありがとうございます、それはとても参考になります!現時点ではどうするかまだ決めていませんが、はい、将来的に一般的なDiscourseの設定と完全に合わせるオプションがあれば素晴らしいです。

「いいね!」 1