기본 그룹 페이지를 /messages로 변경

이것들은 일반적인 링크가 아닙니다. link-to Ember 컴포넌트로 처리되며, 라우팅이 일부 관여합니다.

가장 쉬운 방법은 해당 요소의 클릭을 가로채서 그곳에서 작업을 수행하는 것입니다. 이는 테마의 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`;

         // updates browser title and handle new tab
         groupLink.href = newHref;

         // redirect the link
         groupLink.addEventListener("click", (event) => {
            DiscourseURL.routeTo(newHref);
            event.preventDefault();
         }, {once: true})
       }
     }
  });
</script>

사용자가 그룹의 멤버이고 그룹에 메시지가 있는 경우, 수신함으로 리다이렉트됩니다. 그렇지 않으면 기본 /members 페이지로 폴백됩니다.