Как ограничить доступ к кнопке закрепления/открепления

Я попробовал этот код в заголовке:

document.addEventListener("DOMContentLoaded", function() {
    setTimeout(() => {
        let userTrustLevel = parseInt(Discourse.User.current().trust_level);
        
        if (userTrustLevel < 4) {
            document.querySelectorAll(".pin-topic, .unpin-topic").forEach(button => {
                button.style.pointerEvents = "none"; 
                button.style.opacity = "0.5"; 
                button.title = "У вас нет прав для закрепления тем"; 
            });
        }
    }, 1000);  завершено
});

и в CSS:

.d-header-icons .pin-topic, 
.d-header-icons .unpin-topic, 
.controls .pin-topic, 
.controls .unpin-topic {
    display: none !important;
}

но обычные пользователи с уровнем доверия 1 или 0 могут нажать на кнопку закрепления и увидеть её.

Автоматически откреплять темы, когда пользователь достигает нижней части страницы, по умолчанию — выключено
Автоматически откреплять темы, когда пользователь достигает нижней части страницы — выключено

Привет, добро пожаловать! :wave:

Вы имеете в виду эти кнопки?

Вы можете скрыть кнопки, используя только CSS.

Сначала установите этот компонент: CSS Classes for Current User's Groups. Он добавит имена текущих групп пользователей, например group-<name>, в элемент <body>.

Затем вы сможете применять стили к любым элементам:

:not(.group-trust_level_4) #topic-footer-buttons .pinned-button {
  display: none;
}

Обратите также внимание, что закреплить/открепить тему можно в нескольких местах: