Tema Fakebook

Olá Jordan,

Houve erros quando um novo usuário se registra. A barra lateral direita não mostra nenhuma informação além do texto de boas-vindas e do subtítulo, mas sem o nome. Então, sei que ela mostra os curtidas, se houver, e também as insígnias. É possível corrigir essa barra lateral para que mostre os curtidas e as insígnias? Quero dizer: 0 :heart: recebidos, 0 :heart: dados e sem insígnias. Você ainda não tem nenhuma insígnia… Confira como conseguir algumas… ou algo assim. Ou seja, um texto ou link caso ainda não tenha insígnias.

Obrigado! :slight_smile:

O código de erro para as insígnias é:

Gostaria de modificá-lo conforme abaixo.
No entanto, não funciona na tela do celular.
Pode alguém me ajudar com o que fazer?

Gostaria de fazer o link funcionar para o trecho do tópico e a imagem.

{{~raw-plugin-outlet name="topic-list-after-title"}}
{{#unless topic.image_url}}
  {{#if topic.hasExcerpt}}
    <a href="{{topic.lastUnreadUrl}}" class="topic-excerpt-link">
      <div class="topic-excerpt-box">
        {{raw "list/topic-excerpt" topic=topic}}
      </div>
    </a>
  {{/if}}
{{/unless}}
{{#if topic.image_url}}
<a href="{{topic.lastUnreadUrl}}" class="topic-excerpt-link">
<div class="topic-image">
  <img src="{{topic.image_url}}" />
</div>
</a>
{{/if}}

Este é o site que estou testando.
https://today16.com/

Use isto no cabeçalho móvel :point_down:
<script type='text/x-handlebars' data-template-name='mobile/list/topic-list-item.raw'> . . . </script>

iPhone 6S

Estou testando isso no simulador do Xcode com um iPhone 6S e não estou encontrando esse problema.

Tenho algumas perguntas:

Essa captura de tela é de você usando meta.discourse.org?
Qual versão do iOS você está usando?
Qual navegador web?

Obrigado

1 curtida

Alguém tentou reproduzir um vídeo curto enviado diretamente ao Discourse com o tema do Facebook em um iPhone?

Devo ter perdido algo na configuração, pois não consigo reproduzir nenhum vídeo enviado no celular. No computador, funciona bem.

Qualquer vídeo incorporado do YouTube funciona.

Por isso, não sei o que aconteceu: sem erros, sem avisos.
Portanto, peço orientação.

Sim, funciona perfeitamente para mim em qualquer dispositivo. Acho que um tema dificilmente causaria esse problema.
Você tentou reproduzir no modo de segurança?
Pode postar o tópico onde está o vídeo para que eu possa verificar?

Olá @Don
Sim, você deve tentar no link abaixo:
Making sure you're not a bot!

Apenas testei e confirmei que não funciona no meu iOS 11.

1 curtida

O iOS 11 está bastante desatualizado, o que causa o problema. Consigo reproduzir o vídeo sem nenhum problema no iOS 14 e ele funciona muito bem.

4 curtidas

@Don Anotado,

Obrigado

1 curtida

Isso é fantástico!

Além disso… é possível adicionar um link na área de introdução da barra lateral?

onde está o link para adicionar o tema?

4 curtidas

Ei, estou aprendendo desenvolvimento de temas e plugins do Discourse. Gosto muito do tema Fakebook e estou usando-o para aprimorar meu entendimento, mas tenho algumas dúvidas.

O arquivo “javascripts/discourse/templates/mobile/list/topic-list-item.hbr” contém 100% de código duplicado do “common/header.html”.

Minhas perguntas:

  1. Não existe uma maneira de incluir um arquivo .hbr dentro de um arquivo .html, para que possamos apenas incluir o topic-list-item.hbr no common/header.html, em vez de duplicar o código em dois lugares?
  2. Por que precisamos do topic-list-item.hbr desde o início? Os arquivos na pasta common não deveriam se aplicar tanto ao desktop quanto ao mobile?
1 curtida

Não acredito que exista… Normalmente, eu poderia criar um componente que usa um único modelo e, em seguida, incluí-lo para o componente em ambas as substituições… mas nossos itens de lista de tópicos são um tipo especial de modelo construído para desempenho (hbr = modelo raw do Handlebars), e modelos raw não podem usar componentes. (Alguns debates anteriores em Mounting widget in raw template? - #7 by angus)

É assim que o CSS do Discourse é estruturado (e alguns arquivos HTML especiais para temas como cabeçalho/rodapé/etc.), mas dentro do diretório javascripts/discourse/templates, esses modelos são substituições diretas dos padrões do Discourse (quando não há uma substituição, os modelos padrão são usados).

No Discourse, existem dois modelos: /templates/list/topic-list-item.hbr e /templates/mobile/list/topic-list-item.hbr. Então, como existem dois modelos, precisamos de duas substituições.

Talvez exista uma maneira fácil de apontar o mobile para o modelo não mobile no JS… mas, se existir, não tenho conhecimento disso!

1 curtida

Falei cedo demais! Dei uma olhada e na verdade resolvi isso logo após postar a resposta acima. Às vezes, escrever as coisas pode fazer isso acontecer.

Fiz uma atualização para que seja apenas um único template… por padrão, em topic-list-item.js, temos um código que se parece com:

  renderTopicListItem() {
    const template = findRawTemplate("list/topic-list-item");
    if (template) {
      this.set("topicListItemContents", template(this).htmlSafe());
    }
  },

então, se eu sobrescrever const template no tema…

  renderTopicListItem() {
    const template = findRawTemplate("list/custom-topic-list-item");
    if (template) {
      this.set("topicListItemContents", template(this).htmlSafe());
    }
  },

Isso agora aponta para um template separado e, como não há uma contraparte móvel com o mesmo nome… ele também é usado para dispositivos móveis. Obrigado por inspirar a mudança com sua pergunta @hyd504!

4 curtidas

Isso é muito legal! :blush: Acabei de mudar no meu site para o tema Fakebook Modern :slightly_smiling_face: Muito obrigado! :heart:

@awesomerobot @Don

vocês podem compartilhar links de alguns fóruns de exemplo onde eu possa ver esse tema em ação?

Olá,

Claro, você pode ver o tema Fakebook no criador de temas:

O meu contém relativamente muitas modificações, mas você pode vê-lo aqui:

1 curtida

Obrigado, @Don.

Só para confirmar, o Preview aponta para o tema GitHub - discourse/fakebook-modern · GitHub?