自分のプロフィールページにある「メッセージ」と「チャット」ボタン

こんにちは!

自分のユーザー(プロフィール)ページには、「メッセージ」と「チャット」という紛らわしいボタンがあります。モバイルでは特に目立ち、一部のユーザー(私も含め)は、初めて自分のユーザー/プロフィールページを訪れた際に非常に混乱すると感じています。

これは数年前に議論されたようですが、メッセージボタンについては変更が加えられたはずなのに、まだ表示されています。これはバグでしょうか?それとも、加えられた変更を誤解しているのかもしれません。

よりユーザーフレンドリーにするために、自分のユーザー/プロフィールページからこれらのボタンを削除するのが理にかなっていると思います。

「いいね!」 2

回避策として、これらのボタンをCSSで非表示にすることができます。

section.controls > ul > li > button.compose-pm, section.controls > ul > li.chat-button {
    display: none !important;
}

このコードは、「編集CSS/HTML」画面の新しいテーマ/コンポーネントの「モバイル」タブの下に配置できます(「高度なチェックボックスを表示」にチェックを入れます)。

「いいね!」 2

ずっと良くなりました! CSS コードありがとうございます。驚くほどうまく機能し、自分では思いつきませんでした :upside_down_face: デスクトップとモバイルの両方に設定しました。

編集:笑、早とちりでした。 CSS コードは、自分のページだけでなく、すべてのユーザー/プロファイル ページでボタンを非表示にします。それでも採用するかもしれません :thinking:

うーん…何か方法があるかもしれません。見てみます。

「いいね!」 1

@donaldsoncd JSタブにこの部分を追加してみてください。ユーザーページでのみボタンを非表示にします。ボタンはユーザーカードには表示されたままです。

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

export default apiInitializer((api) => {
  api.onPageChange((url, title) => {
    if (url.startsWith("/u/natedhaliwal")) {
      const pmBtn = document.querySelector("button.compose-pm");
      pmBtn.style.display = "none";
      const chatBtn = document.querySelector("li.user-card-below-message-button.chat-button");
      if (chatBtn.parentNode.className != "usercard-controls") {
        chatBtn.style.display = "none";
      }
    }
  });
});

少しハッキーですが、目的は達成できます。
/u/natedhaliwalの部分を/u/<username>に置き換えることができます。


誰ともプライベートメッセージやチャットができなくしたい場合は、以下を行う必要があります。

  1. discourse.example.com/my/preferences/usersに移動します。
  2. 「他のユーザーが私にプライベートメッセージやチャットのダイレクトメッセージを送信することを許可する」のチェックボックスをオフにします。

お役に立てば幸いです!

@donaldsoncd

ご指摘ありがとうございます。ご自身のプロフィールに表示されるのは確かに奇妙ですね。

その件について修正を適用しました(PR)。アップデートしていただければ、表示されなくなるはずです。

ありがとうございます!

「いいね!」 4

ずっと良くなりました :slight_smile: ありがとうございます!

「いいね!」 1