Это не обычные ссылки. Они обрабатываются компонентом Ember link-to, и здесь задействована небольшая логика маршрутизации.
Самый простой способ реализовать это — перехватить клик по этому элементу и выполнить необходимые действия. Этот код размещается в секции common > header темы:
<script
type="text/x-handlebars"
data-template-name="/connectors/group-index-box-after/link-to-group-inbox"
></script>
<script type="text/discourse-plugin" version="0.8">
const DiscourseURL = require("discourse/lib/url").default;
api.registerConnectorClass('group-index-box-after', 'link-to-group-inbox', {
setupComponent(args) {
const group = args.model;
if (group.is_group_user && group.has_messages) {
const groupLink = document.querySelector(`.group-box.${group.name}`);
const newHref = `/g/${group.name}/messages`;
// Обновляет заголовок браузера и обрабатывает открытие в новой вкладке
groupLink.href = newHref;
// Перенаправляет ссылку
groupLink.addEventListener("click", (event) => {
DiscourseURL.routeTo(newHref);
event.preventDefault();
}, {once: true})
}
}
});
</script>
Если пользователь является участником группы и у группы есть сообщения, он будет перенаправлен во входящие. В противном случае будет использована страница по умолчанию /members.