# Não foi possível substituir topic-list-item.raw.hbs / topic-list-item.hbr no celular

**URL:** <https://meta.discourse.org/t/unable-to-replace-topic-list-item-raw-hbs-topic-list-item-hbr-on-mobile/141395>\
**Category:** Development\
**Created:** [Fevereiro 12, 2020, 2:53pm UTC](https://meta.discourse.org/t/unable-to-replace-topic-list-item-raw-hbs-topic-list-item-hbr-on-mobile/141395 "2020-02-12T14:53:10Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![duranmla](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/duranmla/32/109295_2.png) [@duranmla](https://meta.discourse.org/u/duranmla)\
**Post date:** [Fevereiro 12, 2020, 2:53pm UTC](https://meta.discourse.org/t/unable-to-replace-topic-list-item-raw-hbs-topic-list-item-hbr-on-mobile/141395/1 "2020-02-12T14:53:10Z")

</div>

Olá a todos,

Estou desenvolvendo um tema para personalizar vários aspectos do Discourse padrão. Com isso em mente, uma das coisas que preciso personalizar é o `topic-list-item`, que parece ser bastante simples. Adicionei no meu tema um arquivo no caminho `javascripts/discourse/templates/components/topic-list-item.hbs` e posso colocar meu código lá. No entanto, é aí que as perguntas começam a surgir.

Existe um método no componente para aquele template chamado `renderTopicListItem`, que é o responsável por definir uma propriedade `topicListItemContents`, a qual é renderizada por padrão. Confira:

[https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/topic-list-item.hbs](https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/components/topic-list-item.hbs)

> <https://github.com/discourse/discourse/blob/fc94b6cb9ee709a6744dc0da477f4a37e43d37e4/app/assets/javascripts/discourse/components/topic-list-item.js.es6#L50>

**A primeira pergunta é POR QUÊ?** Por que precisamos fazer isso? Por que não simplesmente usar o código Handlebars como de costume?

Para não interferir demais no código principal, decidi manter o `topic-list-item` como está e substituir o `topic-list-item.raw.hbs` no meu tema, o que funciona sem problemas.

No entanto, espero que ao adicionar um arquivo como `javascripts/discourse/templates/mobile/list/topic-list-item.raw.hbs` no meu tema, ele substitua a visualização móvel, mas não está funcionando.

O método `findRawTemplate` ainda está retornando o template móvel padrão do Discourse, que contém:

 ![image](https://global.discourse-cdn.com/meta/original/3X/4/f/4f5e3c5641811325c9291b3d5fba42ecdd5e50c8.png)

Mesmo fazendo edições manuais dentro do meu projeto local do Discourse, não consigo atualizar a versão móvel com as alterações.

Espero que a explicação faça sentido e que alguém tenha conhecimento sobre o assunto. Parece realmente quebrado por enquanto, e talvez queiramos corrigi-lo SE estiver realmente quebrado _(posso fazer isso se entender um pouco mais o que está acontecendo)_.

Enquanto isso, continuarei procurando uma resposta e atualizarei com qualquer novidade. Abaixo, um pequeno GIF do que tenho no meu ambiente local.

[http://g.recordit.co/AtOJlltJ8o](http://g.recordit.co/AtOJlltJ8o.gif)

**ATUALIZAÇÃO:** Também atualizei o `raw` para `.hbr`, pois um commit recente alterou os arquivos, mas ainda não consegui fazer funcionar.

---

_[View the full topic](https://meta.discourse.org/t/unable-to-replace-topic-list-item-raw-hbs-topic-list-item-hbr-on-mobile/141395)._
