Como encontrar rotas ou usar URL relativo que inclui campos dinâmicos

Estou tentando adicionar rotas a um dos plugins que estou usando (Discourse Tab Bar) e não consegui encontrar nada relevante ou fácil de entender para mim ao pesquisar no meta.

Estou tentando identificar o nome da rota que leva, por exemplo, a:

domain.com/u/admin/follow/feed

Sei que posso usar um nome de rota predefinido ou uma URL relativa. Aqui está a pergunta:

  1. Como posso encontrar a lista de todas as rotas predefinidas? (se houver tal lista)

  2. Como posso usar uma URL relativa quando a URL contém o nome de usuário (ou outro texto dinâmico, como nomes de grupos)? Por exemplo, para URLs no painel de Preferências.

Essa eu sei. :slightly_smiling_face: Você pode substituir /u/nomeusuario por my para criar um link genérico.

Por exemplo:

https://meta.discourse.org/u/jammydodger/preferences/account

Torna-se

https://meta.discourse.org/my/preferences/account

https://meta.discourse.org/my/preferences/account

1 curtida

Obrigado @JammyDodger, isso ajudou muito.

LE: Ainda estou procurando uma resposta sobre as rotas, pois parece que, para o tema que estou usando https://meta.discourse.org/t/discourse-tab-bar-for-mobile/, ao usar a URL relativa, o botão ativo não muda de cor como deveria.

1 curtida

Olá,

Eu também estou usando o Discourse Tab Bar e o plugin Follow. Adicionei a URL /my/follow/feed ao Discourse Tab Bar. A ativação da aba também não funcionou no meu fórum :grin: Agora, fiz uma pequena “gambiarra” em CSS para fazer isso funcionar.

Eu alvo a classe do corpo atual, que é .user-follow-page, o que nos ajuda a manter as modificações de CSS apenas na página de acompanhamento. Com essa classe, podemos facilmente selecionar a aba relevante do Discourse Tab Bar.

O que precisamos fazer é mudar a cor da aba ativa travada para a padrão (não ativa) e adicionar a cor da aba ativa àquela que possui o data-destination /my/follow/feed.

data-destination é a URL que você configurou no componente do tema Tab Bar para as abas.

Adicione isso a uma nova seção de CSS para mobile em um componente:

body.user-follow-page {
  .d-tab-bar {
    .tab {
      &.active {
        color: var(--primary-medium);
      }
      &[data-destination="/my/follow/feed"] {
        color: var(--tertiary);
      }
    }
  }
}

Acredito que seja esta: discourse/app/assets/javascripts/discourse/app/routes/app-route-map.js at 9d5da2b383765becb824a8f3ff3665abc8e527fa · discourse/discourse · GitHub

4 curtidas

Resposta fantástica. :heart: :awthanks:

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.