Componente de banners de tópico

Este componente permite renderizar qualquer tópico como um banner em caminhos de URL personalizados.

A aparência padrão é bem básica. A captura de tela mostra o tópico de boas-vindas padrão como um banner na lista mais recente:

Mas os banners renderizarão vários conteúdos que são suportados em tópicos, por exemplo, emojis, animações, links de vídeo… Então você pode usar (e abusar) disso de várias maneiras :see_no_evil:

Nas Configurações, você seleciona visualizações por sua URL relativa e tópicos por seu ID. Você também pode posicionar os banners em um de três plugin-outlets diferentes e mostrá-los apenas para um grupo específico:

:+1: Créditos: O código do widget para este componente é essencialmente uma cópia do componente Category Sidebars de @awesomerobot e, como entendo, de @xrav3nz

|||
|-|-|-|
| :hammer_and_wrench:|Repositório| GitHub - nolosb/discourse-topic-banners: A Discourse theme component. Renders any topic as a banner on custom url paths. |
| :question:|Guia de Instalação|Como instalar um tema ou componente de tema|

Instalar Componente de Tema

16 curtidas

Isso inclui enquetes (com as quais você pode interagir)? (tem sido algo que sentimos muita falta, colocar uma enquete visível para todos em vez de escondida em algum lugar em uma postagem)

3 curtidas

Boa pergunta! Mas não, acabei de tentar:

A enquete apareceria como na prévia do editor. Você não pode interagir e também não mostra resultados.

3 curtidas

Encontrei um bug neste componente, quando ele está ativado e configurado para mostrar o tópico de apenas um grupo específico.

Se o convidado ou usuários acessarem o fórum de fora deste grupo, a atualização das páginas funciona incorretamente, os outros tópicos não são carregados após a atualização da página no navegador.

Console:

Uncaught TypeError: Cannot read properties of null (reading 'groups')
    at n.html (68eb2e30e7629f8db22df6fed8efb777b0183d8d.js?__ws=mydomain.com:114:36)
    at n.value (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:3239172)
    at n.value (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:3235241)
    at s (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90601:45)
    at t.exports (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90584:21)
    at m (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90988:17)
    at h (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90856:9)
    at d (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:90843:5)
    at n.rerenderWidget (application-8b970b30b88888346a1f4d53543a21332202376215babe59aa315ac2054a2627.js:sourcemap:1:1455271)
    at t.invoke (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66550:16)
    at e.t.flush (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66442:13)
    at e.t.flush (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66646:21)
    at e.n._end (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67222:34)
    at e.n.end (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66908:12)
    at e.n._run (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67277:16)
    at e.n._join (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:67251:21)
    at e.n.join (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:66968:19)
    at h (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:53760:28)
    at HTMLDocument.<anonymous> (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:53864:19)
    at l (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:3776:29)
    at c (_vendor-0cf07f050f530b08ccc553a048b7cccd4edb486adc39b865c07d6c6c1cc57fbf.js:3844:12)
2 curtidas

Obrigado por postar isso! Eu só consegui reproduzir um erro quando nenhum usuário estava logado e adicionei uma correção para isso. Você poderia atualizar o componente e tentar novamente?

3 curtidas

Sim, agora funciona! Obrigado! :heart:

2 curtidas

ahh, isso é incrível! ótimo componente temático, pois permite uma boa individualização de cada categoria, o que parece muito superior ao componente temático de banner de categoria do oficial - mas posso estar enganado
nessa sentido, pode ser bom adicionar o banner de categoria ao título da postagem.
além disso, este componente pode até servir para a página inicial

2 curtidas

Olá, obrigado por compartilhar!

Não há planos para adicionar um botão de fechar sobre os banners?

1 curtida

Não tenho certeza se o componente é uma boa substituição para os banners de categoria. Algumas ressalvas:

  • ele carregará muito mais devagar
  • ele não conterá conteúdo dinâmico. Por exemplo, quando você altera o nome da categoria, ele não será atualizado no componente
  • também é mais complicado de configurar

Dito isso, ficaria curioso para ver como você o usa dessa forma :slight_smile:

Eu só tenho um caso de uso para este componente no momento, que é servir um tópico introdutório expandido em uma comunidade. Não há planos para adicionar ao componente no momento.

@manuel Desenterrando este, testando em 3.1.4 atualmente.
Mas a configuração “mostrar para grupo” não está funcionando quando adiciono um grupo específico. Tentei diferenciar maiúsculas de minúsculas, mas o tópico do banner não é exibido. Quando a configuração está vazia, então funciona. Alguma ideia?

1 curtida

Sim, o componente precisará de alguma refatoração. Há bastante código e eu mesmo não tenho mais um caso de uso. Podemos marcar isso como não mantido?

@jrgong não sei o que você está tentando configurar, mas provavelmente você pode tentar este componente Announcement Bar? Ele é estilizado para um layout de barra por padrão, mas com um pouco de CSS e colocando-o no outlet above-main-container ele pode ser muito semelhante. Precisa de HTML em vez de markdown. Também não tem recursos de grupo, mas a grande vantagem é que é descartável.

3 curtidas

@manuel obrigado pela dica. Vamos verificar assim que a versão estável 3.2 for lançada. O tc da barra de anúncios não é compatível com a 3.1.

1 curtida

Eu apliquei a tag :+1:

3 curtidas