Eu adoraria testar sua versão @Don ![]()
Olá ![]()
Claro, com certeza! Originalmente, eu construí esse recurso diretamente no meu próprio tema personalizado, então tive que extrair e dividi-lo em um componente de tema independente.
No meu próprio site, eu aciono o modal por meio de um botão dedicado, enquanto esse componente de tema o aciona diretamente ao clicar em um tópico.
Você pode testá-lo no Theme Creator aqui:
Uau, parece muito rápido. Eu realmente gosto. Teria muito interesse se você o tornasse de código aberto. Bom trabalho
Não uso o Livro de Faces há décadas, então não tenho nenhum ponto de referência nisso, mas de qualquer forma… Don, isso parece realmente sofisticado. Não esperava gostar, mas num celular acho que poderia ser realmente legal. Novamente, sem referência ao Facebook, mas para mim isso fica meio a meio entre um fórum normal e um chat.
O visual e a sensação são muito fluidos. Muito legal ![]()
Parece fazer muitas solicitações de rede… Estou sempre encontrando limites de taxa ao testar no criador de temas. Parece que ele precisa buscar todo o conteúdo do tópico da lista de tópicos, mesmo que você não entre no tópico (o que é o motivo pelo qual parece tão rápido)?
Sim, originalmente construí este componente para o meu próprio site, que usa um layout de cards personalizado onde apenas 1–2 tópicos cabem na tela de cada vez. Nessa configuração, o pré-carregamento baseado no viewport funciona suavemente sem atingir os limites de taxa. Nas listas de tópicos baseadas em tabela do Discourse padrão, no entanto, muitos mais tópicos são visíveis simultaneamente, fazendo com que a fila de pré-carregamento se encha muito mais rapidamente durante a rolagem.
Essa é, na verdade, a principal razão pela qual ainda não compartilhei oficialmente o componente — eu sabia que esse comportamento precisava ser adaptado para layouts padrão primeiro.
Você está certíssimo: para tornar isso um componente sólido e de uso geral, preciso otimizar isso.
Haveria alguma possibilidade de liberar o código-fonte para que eu possa brincar um pouco com isso
Eu gosto disso ![]()
Sendo bem sincero, acho que isso se encaixaria melhor no seu tema, e não na lista padrão de tópicos.
Acabei de adicionar duas novas configurações para tornar o uso muito mais flexível em layouts personalizados:
-
trigger_style: Escolha entre tornar toda a linha do tópico clicável (row) ou adicionar um pequeno ícone de expansão (button) que abre a pré-visualização, mantendo o link normal do tópico intacto. -
plugin_outlet: Ao usar o estilo de botão, você pode especificar o plugin outlet exato onde o ícone de expansão será renderizado (o padrão étopic-list-after-title).
Isso permite que temas personalizados conectem o botão de gatilho aos seus próprios plugin outlets personalizados, conforme necessário.
Na verdade, acabei de ativar exatamente este componente independente no meu site. Removi completamente meu código original do tema e o substituí por este componente executado via <PluginOutlet />.
Além disso, também corrigi um bug na funcionalidade de rastreamento de leitura.
Gostaria de testá-lo em um ambiente de produção real por um curto período para garantir que tudo esteja estável antes de torná-lo de código aberto.
A propósito, mudei temporariamente a pré-visualização do Criador de Temas para o tipo de gatilho button por um curto período para que você possa testar!
