# Votação de posts tem curtidas habilitadas, mas elas não aparecerão

**URL:** <https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297>\
**Category:** Bug\
**Tags:** reactions, post-voting\
**Created:** [8 Dezembro , 2022 17:37 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297 "2022-12-08T17:37:10Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)\
**Post date:** [8 Dezembro , 2022 17:37 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/1 "2022-12-08T17:37:10Z")

</div>

Temos a configuração `qa enable likes on answers` habilitada, mas não há ❤ visíveis.

Também temos o plugin oficial Discourse Reactions instalado. Isso pode ser a causa deste bug?

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [8 Dezembro , 2022 18:39 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/3 "2022-12-08T18:39:48Z")

</div>

Acabei de ativar/desativar Reações no meu site de teste para verificar isso e parece que está conectado. Pergunto-me se esta é uma consequência desta correção de bug [Polegar para cima, duas vezes](https://meta.discourse.org/t/thumbs-up-twice/240867)?

---

<div class="post-metadata">

**Author:** ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)\
**Post date:** [8 Dezembro , 2022 19:16 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/5 "2022-12-08T19:16:34Z")

</div>

Olá,

As reações estão desativadas (ocultas) por padrão em tópicos de votação de posts com CSS.

> <https://github.com/discourse/discourse-post-voting/blob/main/assets/stylesheets/common/post-voting.scss#L19-L22>

Você pode reativá-las adicionando um pouco de CSS a um componente Comum/CSS 🔽

```scss
.post-voting-topic,
.post-voting-topic-sort-by-activity {
  .discourse-reactions-actions {
    display: inline-flex;
  }
}

```

---

<div class="post-metadata">

**Author:** ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)\
**Post date:** [9 Dezembro , 2022 08:20 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/6 "2022-12-09T08:20:59Z")

</div>

Muito obrigado!

A limitação por padrão é compreensível (muitas opções para dar feedback podem ser confusas), mas se houver uma configuração que permita aos administradores habilitar “curtidas” e esses administradores tivessem habilitado reações em seu site, então seria lógico habilitar reações em posts de votação quando eles habilitassem a configuração.

E, de qualquer forma, acho que mais administradores provavelmente pensarão que há um bug em vez de verificar o código e corrigir o CSS. 🙂

---

<div class="post-metadata">

**Author:** ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)\
**Post date:** [14 Dezembro , 2022 10:01 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/7 "2022-12-14T10:01:02Z")

</div>

| reações instaladas | votação de posts instalada | habilitar curtidas em respostas | invocar removePostMenuButton(‘like’)? |
| --- | --- | --- | --- |
| não | não | não (NA) | não, manter ❤ |
| sim | não | NA | sim, remover o botão de curtir, mostrar reações |
| não | sim | não | sim, remover o botão de curtir para respostas |
| não | sim | sim | não, manter ❤ para cada post |
| sim | sim | não | sim, remover o botão de curtir, **mostrar reações apenas para o primeiro post** , não para respostas |
| sim | sim | sim | sim, remover o botão de curtir, mostrar reações para todos |

Esbocei algo como uma tabela verdade aqui. Precisamos programaticamente fazer com que as reações apareçam para posts diferentes dependendo das configurações do site, especialmente a opção `habilitar curtidas em respostas`, em vez de um simples `display:none` em CSS.

@tgxworld pegou algo parecido na época sugerindo que provavelmente deveríamos expor uma API no discourse-reactions (t/67550/10). Talvez devêssemos considerar isso.

---

<div class="post-metadata">

**Author:** ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)\
**Post date:** [28 Dezembro , 2022 16:32 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/9 "2022-12-28T16:32:28Z")

</div>

```js
// Removendo o botão `like`
api.removePostMenuButton("like");
// E adicionando-o novamente
api.decorateWidget("post-menu:before-extra-controls", (dec) => {
  return dec.attach("discourse-reactions-actions", {

```

Em vez de fazer isso 🔼 devemos adicionar um método `replacePostMenuButton` na API do plugin principal e usá-lo no plugin de reações. Nesse caso, não precisaremos de uma lógica separada para o botão de reação no plugin de votação de posts.

Como existe uma solução alternativa, farei essa alteração após o próximo lançamento.

---

<div class="post-metadata">

**Author:** ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)\
**Post date:** [7 Agosto , 2023 17:39 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/12 "2023-08-07T17:39:33Z")

</div>

Isso exigiu 3 PRs, mas sua ideia de implementação foi incrível @vinothkannans, funciona perfeitamente. Assim que todos forem mesclados, postarei novamente 🙂

> <https://github.com/discourse/discourse/pull/22995>
>
> Reason described here: https://meta.discourse.org/t/post-voting-has-likes-enable…d-but-they-wont-appear/248297/9?u=markvanlan

> <https://github.com/discourse/discourse-reactions/pull/229/files>

> <https://github.com/discourse/discourse-post-voting/pull/153>

---

<div class="post-metadata">

**Author:** ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)\
**Post date:** [9 Agosto , 2023 20:14 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/13 "2023-08-09T20:14:51Z")

</div>

Os PRs foram mesclados e agora (quando sua instância do Discourse for atualizada), as reações respeitam a configuração `qa_enable_likes_on_answers`. Obrigado pelo relatório de bug @icaria36!

---

<div class="post-metadata">

**Author:** ![Firefishy](https://avatars.discourse-cdn.com/v4/letter/f/77aa72/32.png) [@Firefishy](https://meta.discourse.org/u/Firefishy)\
**Post date:** [10 Agosto , 2023 16:45 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/14 "2023-08-10T16:45:22Z")

</div>

Os PRs mesclados quebram a versão estável do discourse. O site não carrega devido a um erro de javascript.

```plaintext
Uncaught (in promise) TypeError: e.replacePostMenuButton is not a function
    u discourse-reactions.js:12
    withPluginApi plugin-api.js:2247
    initialize discourse-reactions.js:165
    initialize app.js:173
    runInstanceInitializers Ember
    each dag-map.js:192
    walk dag-map.js:121
    each dag-map.js:66
    topsort dag-map.js:72
    Ember 4
    invoke queue.ts:201
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
discourse-reactions.js:12

```

---

<div class="post-metadata">

**Author:** ![markvanlan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markvanlan/32/160087_2.png) [@markvanlan](https://meta.discourse.org/u/markvanlan)\
**Post date:** [10 Agosto , 2023 16:45 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/15 "2023-08-10T16:45:55Z")

</div>

Sim, eu deveria ter previsto isso. Vou enviar uma correção para o plugin de reações para que ele volte a funcionar quando `replacePostMenuButton` não estiver presente.

Editar: Mesclei [uma alteração](https://github.com/discourse/discourse-reactions/commit/a8b3b8e28567a8af9f8c711a263471964f393c87) que adiciona compatibilidade retroativa.

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [14 Agosto , 2023 07:00 UTC](https://meta.discourse.org/t/post-voting-has-likes-enabled-but-they-wont-appear/248297/16 "2023-08-14T07:00:01Z")

</div>

Este tópico foi automaticamente fechado após 4 dias. Novas respostas não são mais permitidas.
