# Alterar as páginas de grupo padrão para /mensagens

**URL:** <https://meta.discourse.org/t/change-the-default-group-pages-to-messages/212123>\
**Category:** Support\
**Created:** [Dezembro 14, 2021, 11:50pm UTC](https://meta.discourse.org/t/change-the-default-group-pages-to-messages/212123 "2021-12-14T23:50:29Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)\
**Post date:** [Janeiro 6, 2022, 2:17am UTC](https://meta.discourse.org/t/change-the-default-group-pages-to-messages/212123/8 "2022-01-06T02:17:05Z")

</div>

Claro, você pode tentar algo como isto na aba de cabeçalho do seu tema/componente. Deixei alguns comentários no trecho se você quiser acompanhar. Você pode excluí-los quando estiver pronto para usá-lo.

As mesmas regras se aplicam. Se o usuário for membro do grupo e o grupo tiver mensagens, o Discourse navegará para a caixa de entrada do grupo. Caso contrário, o usuário acessará o diretório de membros.

```xml
<script type="text/discourse-plugin" version="0.8">
  // Parte 1: modificar o caminho para os links nos cartões de grupo. Isso garante que o título do link
  // reflita para onde ele leva e lida com a abertura do link em uma nova aba.
  const discourseComputed = require("discourse-common/utils/decorators").default;

  api.modifyClass("component:group-card-contents", {
    // A propriedade groupPath é usada para gerar o href para os links de grupo
    // no cartão de grupo. Vamos modificá-la
    @discourseComputed("group")
    groupPath(group) {
      // obtém o valor padrão do núcleo
      let groupURL = this._super(...arguments);

      // se o usuário corresponder ao nosso requisito, modifica a url para que ela vá para a caixa de entrada
      if (group.is_group_user && group.has_messages) {
        groupURL = `${groupURL}/messages/`;
      }

      // retorna o valor padrão ou modificado
      return groupURL;
    }
  });

  // Parte 2: modificar o roteamento dentro do aplicativo. Isso garante que a navegação normal dentro do aplicativo
  // seja tratada corretamente e leve o usuário para a caixa de entrada do grupo se ele atender aos
  // requisitos

  const DiscourseURL = require("discourse/lib/url").default;
  const { groupPath } = require("discourse/lib/url");
  const { action } = require("@ember/object");

  api.modifyClass("controller:user-card", {

    // showGroup aqui é uma ação que pertence ao controller user-card.
    // Isso é o que é chamado quando você clica no nome/avatar do grupo dentro dos cartões de grupo
    @action
    showGroup(group) {
      // chama super para garantir que o código do núcleo seja carregado primeiro
      this._super(...arguments);

      // group path é uma função auxiliar de url integrada do Discourse
      let groupURL = groupPath(group.name);

      // se o usuário corresponder aos requisitos, modifica a url
      if (group.is_group_user && group.has_messages) {
        groupURL = `${groupURL}/messages/`;
      }

      // chama routeTo() com a groupURL padrão ou modificada
      DiscourseURL.routeTo(groupURL);
    }
  });
</script>

```

---

_[View the full topic](https://meta.discourse.org/t/change-the-default-group-pages-to-messages/212123)._
