用户个人资料页面上的“消息”和“聊天”按钮

你好!

在用户自己的(个人)资料页面上,有令人困惑的“消息”和“聊天”按钮。在移动设备上尤其突出,一些用户(包括我自己)在首次访问其用户/个人资料页面时会觉得特别困惑。

这似乎是几年前讨论过的,并且据称对“消息”按钮做出了更改,但我仍然看到它。也许这是一个错误?或者是我误解了所做的更改。

为了更加用户友好,我认为应该从用户自己的用户/个人资料页面中删除这些按钮。

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 个赞