익명에게 투표 결과 숨기기

안녕하세요, 익명 사용자에게 투표 결과를 숨기는 방법이 있을까요? 시험 문제 풀이에 대한 포럼을 만들고 있는데, 사용자가 질문에 대한 답을 선택할 수 있도록 하려고 합니다. 회원들이 다른 사람들의 답을 보기 위해 엉터리 답을 고르는 것은 원치 않지만, 익명 사용자에게도 결과를 보여주고 싶지 않습니다.

한 가지만 더, 익명 사용자의 답글도 숨길 수 있는 방법을 찾아보고 싶었는데 아무것도 찾지 못했습니다. 그런 기능이 존재합니까?

안녕하세요, 방금 해결 방법을 찾았습니다. 시도해 보고 싶으시다면, 테마 컴포넌트를 생성하고 아래 코드를 head에 추가하세요.

<script type="text/discourse-plugin" version="0.8">api.onPageChange(() => {
        if (!Discourse.User.current()) {
            const pollContainers = document.querySelectorAll('.poll');

            pollContainers.forEach(poll => {
                const observer = new MutationObserver((mutations) => {
                    mutations.forEach((mutation) => {
                        if (mutation.type === 'childList') {
                            const resultsButton = poll.querySelector('.toggle-results');
                            if (resultsButton) {
                                resultsButton.remove();
                            }
                        }
                    });
                });

                observer.observe(poll, { attributes: false, childList: true, subtree: true });

                // Remove existing buttons if present
                const existingButton = poll.querySelector('.toggle-results');
                if (existingButton) {
                    existingButton.remove();
                }
            });
        }
    });
</script>

이렇게 하면 누군가가 투표할 때 “결과” 버튼이 표시되는 것도 방지할 수 있습니다.