Tópico clicável

:discourse2: Resumo Tópico Clicável torna toda a área de um topic-list-item clicável, em vez de apenas o título do tópico.
:eyeglasses: Pré-visualização Pré-visualizar no Discourse Theme Creator
:hammer_and_wrench: Link do Repositório https://github.com/discourse/discourse-clickable-topic
:open_book: Novo em Temas do Discourse? Guia para iniciantes sobre o uso de Temas do Discourse

Instale este componente de tema

Recursos

preview

:discourse2: Hospedado por nós? Componentes de tema estão disponíveis para uso em nossos planos Standard, Business e Enterprise.

46 curtidas

Thank you so much, very needed thing! :heart:

4 curtidas

Isso é um componente muito útil! Do ponto de vista da experiência do usuário, deveria estar integrado ao Discourse, mas essa é apenas minha opinião.

De qualquer forma, estou travado tentando fazer a mesma lógica funcionar para Categorias. Queria fazer isso com api.modifyClass, mas parece que estou perdendo a parte crucial. Você pode me ajudar?

Tenho essa configuração para minha página desktop:
image

Basicamente, a caixa vermelha à esquerda deveria ser clicável:

Ou, para ter uma imagem perfeita do que quero alcançar: recriar o design do fórum da Blizzard, pois gosto muito dele:

Agradeço qualquer ajuda aqui.

Enquanto aguardo uma resposta, também encontrei a página de componentes aqui:
https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/app/components

E tentei várias ideias, mas parece que meu hook nem está disponível? Ou estou perdendo algo!? :slight_smile:

Fico feliz que você tenha gostado do componente!

Obrigado pelas sugestões :grinning_face_with_smiling_eyes:

No momento, este componente foi projetado para funcionar apenas com Topics em uma lista de tópicos.

1 curtida

Se você quiser experimentar e fazer um fork deste componente, sinta-se à vontade para fazê-lo :+1:

Como ponto de partida para tornar uma categoria clicável, sugiro examinar o código deste componente que realiza essa ação modificando o componente topic-list-item dentro do núcleo do Discourse.

Você pode tentar criar um novo arquivo dentro desta mesma pasta, direcionando um dos vários tipos de layouts de categoria incluídos em nossos componentes, garantindo que você direcione o mesmo estilo de página de categoria selecionado em seu fórum.

Alguns deles estão listados em suas localizações abaixo…

app/assets/javascripts/discourse/app/components/categories-and-latest-topics.js
app/assets/javascripts/discourse/app/components/categories-and-top-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes-topic.js
app/assets/javascripts/discourse/app/components/categories-boxes-with-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes.js
app/assets/javascripts/discourse/app/components/categories-only.js
app/assets/javascripts/discourse/app/components/category-list-item.js

3 curtidas

A pré-visualização não funciona mais

2 curtidas

Acho que agora deve estar tudo bem. :slightly_smiling_face::+1:

2 curtidas

Quebrado agora.

Nós dependíamos deste componente para tornar os cards de tópico da visualização Categorias + Mais Recentes (padrão em nosso caso) clicáveis. Desde a atualização de hoje para a versão mais recente 3.1.0beta8 (agora aparece como 3.2.0.beta1-dev), o componente parou de funcionar corretamente.

Agora o estado ativo do cursor permanece clicável, mas a área do tópico não é clicável. Com o console do navegador aberto, há um erro, que pode ajudar os desenvolvedores a identificar o problema:

Uncaught TypeError: this.router is undefined

function navigateToTopic(topic, href) {
    if (this.siteSettings.page_loading_indicator !== "slider") {
      // Com o slider, parece mais agradável que o cabeçalho seja atualizado assim que o restante do conteúdo do tópico carregar,
      // então pule a configuração antecipada.
      this.appEvents.trigger("header:update-topic", topic);
    }
    this.session.set("lastTopicIdViewed", {
      topicId: topic.id,
      historyUuid: this.router.location.getState?.().uuid
    });
    _url.default.routeTo(href || topic.get("url"));
    return false;
  }

O erro lançado para a linha:

historyUuid: this.router.location.getState?.().uuid

Pode estar relacionado às atualizações do Ember planejadas/em andamento no core?

Olá @kinetiksoft - Não consegui reproduzir o problema aqui. O componente de tema parece funcionar bem com a versão mais recente do Discourse. Usar o link ‘preview on theme creator’ no OP aqui também parece funcionar.

Você poderia compartilhar um link para um site com o problema? Talvez haja um conflito com outro tema/plugin.

2 curtidas

Obrigado! Enviei uma mensagem privada com um link para a comunidade em questão. Não é apropriado compartilhá-la em público.

1 curtida

Obrigado @kinetiksoft! Parece que o problema ocorre quando o componente de tema é usado em conjunto com a visualização ‘categorias + mais recentes’ (que você configurou como sua página inicial).

Fiz um PR que deve resolver o problema.

Postarei aqui assim que for mesclado, e então você precisará atualizar seu fórum para a versão mais recente do Discourse core.

3 curtidas

Obrigado, David! Que bom que pudemos ajudar a identificar o problema em um componente que funcionava perfeitamente.

2 curtidas

Tudo feito - então deve ter efeito na próxima vez que você atualizar para a versão mais recente do Discourse

1 curtida

Faremos uma tentativa de atualização esta semana e certamente voltarei a este tópico para relatar como tudo está correndo. Obrigado novamente!

1 curtida

Podemos confirmar que o problema foi corrigido. Obrigado novamente! :heart:

1 curtida

Olá, como posso modificar este componente para suportar o plugin Docs?

Estou executando a versão mais recente do Discourse 3.4.0.beta2-dev.


Não tenho certeza se há algo errado na configuração deste componente de tema, mas todo o texto do corpo no tópico no cartão não é clicável. Se você clicar logo após o final do texto em qualquer linha, poderá ativar o cartão e abrir o tópico.

Alguma ideia sobre o que pode estar causando isso?

Agradeço antecipadamente por toda a ajuda e contribuições. :slight_smile:

4 curtidas

Olá, obrigado por esse TC, mas parece que uma região continua não clicável?

Estou vendo este erro de forma inconsistente em um site que administro:

Executando Discourse 52ab90911 e Clickable Topic 37f0aa135fe

1 curtida