안녕하세요!
사용자(프로필) 페이지에서 "Message"와 “Chat” 버튼이 혼란을 주고 있습니다. 모바일에서는 특히 두드러지며, 사용자 페이지를 처음 방문하는 사용자들(그리고 저 포함)은 이 부분이 특히 혼란스럽다고 느낍니다.
몇 년 전에 이에 대해 논의가 있었다는 것과 Message 버튼에 대한 변경 사항이 supposedly 적용되었음에도 불구하고, 여전히 해당 버튼이 보입니다. 이는 버그일까요? 아니면 제가 적용된 변경 사항을 잘못 이해한 것일까요?
더 사용자 친화적으로 만들기 위해, 사용자 자신의 프로필 페이지에서 이 버튼들을 제거하는 것이 합리적이라고 생각합니다.
2개의 좋아요
우회 방법으로, 다음 CSS를 사용하여 이 버튼들을 숨길 수 있습니다:
section.controls > ul > li > button.compose-pm, section.controls > ul > li.chat-button {
display: none !important;
}
이 코드는 ‘Edit CSS/HTML’ 화면에서 새 테마/컴포넌트(‘Show Advanced’ 체크박스를 선택)의 ‘Mobile’ 탭 아래에 추가할 수 있습니다.
2개의 좋아요
훨씬 좋습니다! CSS 코드를 알려주셔서 감사합니다 – 완벽하게 작동하네요. 제 혼자서는 도저히 해결할 수 없었을 텐데
데스크톱과 모바일 모두에 적용해 두었습니다.
수정: 하하, 너무 앞서 나갔네요. CSS 코드가 내 페이지뿐만 아니라 모든 사용자/프로필 페이지에서 버튼을 숨깁니다. 그래도 이대로 갈 수도 있겠네요 
@donaldsoncd 음… 방법이 있을지도 모르겠네요. 한번 살펴볼게요.
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>으로 교체할 수 있습니다.
누구도 당신에게 개인 메시지나 채팅을 보낼 수 있는 기능을 완전히 제거하려면 다음을 수행해야 합니다.
discourse.example.com/my/preferences/users로 이동합니다.
다른 사용자가 나에게 개인 메시지 및 채팅 다이렉트 메시지를 보낼 수 있도록 허용 체크박스를 해제합니다.
도움이 되길 바랍니다!
안녕하세요 @donaldsoncd
그 문제를 알려주셔서 감사합니다. 본인의 프로필에서 그렇게 표시되는 것은 좀 이상하다는 데 동의합니다.
해당 사항을 수정했습니다(PR). 업데이트 후 사라질 것입니다.
감사합니다!
4개의 좋아요