Как реализовать функцию входа для просмотра контента, чтобы лучше привлекать пользователей к регистрации

Это легко реализовать. В модели темы есть атрибут, показывающий, отвечали ли вы на неё, — он называется posted. Ранее я написал компонент Composer tip under specific tag topics, который проверяет, был ли дан ответ. Если у вас есть опыт программирования, вы можете изучить мой код. В сочетании с методом decorateCookedElement API это позволит скрывать контент до момента ответа.

Конкретный код я писать не стал — сейчас очень занят.

<script type="text/discourse-plugin" version="1.6.0">

const user = api.getCurrentUser();

const I18n = require("I18n");

const pid = "post_hider"

const tl4_css = `
.d-editor-preview [data-theme-hide] {
  background: var(--tertiary);
  color: var(--secondary);
  border-top: 2px solid var(--secondary);
  position: sticky;
  top: 0;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.d-editor-preview [data-theme-hide]::before {
  content: "Это сообщение скрыто";
}
`

api.addPostClassesCallback((attrs) => {
if (attrs?.cooked?.includes(`<div data-theme-hide="true">`)) {
  return ["hiddened"]; // Добавляем класс для CSS, дальше как решите
} else {
  return [];
}
});

if (!user) {
    api.decorateCookedElement((el, helper) => {
        function hide_post() {
            setTimeout( () => {
                try {
                    // document.querySelector(`[data-post-id="${helper?.widget?.attrs?.id}"]`)?.parentElement?.remove();
                } catch (err) {
                    console.log(el);
                    console.log(err);
                }
            }, 1000);
        }
        if (el?.querySelector(`[data-theme-hide="true"]`)) {
            el.innerHTML = `<p>Сообщение скрыто сообществом</p>`; // Измените эту строку
            hide_post();
        }
    }, {
        id: pid,
        afterAdopt: true,
        onlyStream: true,
    });
} 


    
</script>

Вспомнил, что у меня есть код, который ранее использовался для скрытия всего сообщения от неавторизованных пользователей. Вы можете использовать его для справки.

Я вспомнил, что у меня есть код, который я использовал для скрытия всего сообщения от неавторизованных пользователей. Вы можете использовать его для справки.