Post-Voting hat Likes aktiviert, aber sie werden nicht angezeigt

Wir haben die Einstellung qa enable likes on answers aktiviert, aber es sind keine :heart: zu sehen.

Wir haben auch das offizielle Plugin Discourse Reactions installiert. Kann dies die Ursache für diesen Fehler sein?

5 „Gefällt mir“

Ich habe gerade Reaktionen auf meiner Testseite ein-/ausgeschaltet, um das zu überprüfen, und es scheint, dass es damit zusammenhängt. Ich frage mich, ob dies eine Folge dieser Fehlerbehebung ist Daumen hoch, zweimal?

3 „Gefällt mir“

Hallo,

Reaktionen sind standardmäßig (ausgeblendet) bei Beitragswahlthemen mit CSS deaktiviert.

Sie können sie reaktivieren, indem Sie ein wenig CSS zu einer Komponente Common/CSS hinzufügen :arrow_down_small:

.post-voting-topic,
.post-voting-topic-sort-by-activity {
  .discourse-reactions-actions {
    display: inline-flex;
  }
}
6 „Gefällt mir“

Vielen Dank!

Die Standardbeschränkung ist verständlich (zu viele Optionen für Feedback können verwirrend sein), aber wenn es eine Einstellung gäbe, die Administratoren erlaubt, „Likes“ zu aktivieren, und diese Administratoren Reaktionen auf ihrer Website aktiviert hätten, dann wäre es logisch, Reaktionen in Abstimmungsposts zu aktivieren, wenn sie die Einstellung aktivieren.

Und auf jeden Fall denke ich, dass mehr Administratoren eher denken würden, dass es einen Fehler gibt, als den Code zu überprüfen und das CSS zu beheben. :slight_smile:

3 „Gefällt mir“
Reaktionen installiert Abstimmungsbeitrag installiert Likes für Antworten aktivieren invoke removePostMenuButton(‘like’)?
nein nein nein (NA) nein, :heart: beibehalten
ja nein NA ja, Like-Button entfernen, Reaktionen anzeigen
nein ja nein ja, Like-Button für Antworten entfernen
nein ja ja nein, :heart: für jeden Beitrag beibehalten
ja ja nein ja, Like-Button entfernen, nur Reaktionen für den ersten Beitrag anzeigen, nicht für Antworten
ja ja ja ja, Like-Button entfernen, Reaktionen für alle anzeigen

Hier wurde so etwas wie eine Wahrheitstabelle skizziert. Wir müssen Reaktionen programmatisch für verschiedene Beiträge anzeigen lassen, abhängig von den Website-Einstellungen, insbesondere für enable likes on answers, anstatt eines einfachen CSS display:none.

@tgxworld hat das damals angedeutet und vorgeschlagen, dass wir wahrscheinlich eine API auf discourse-reactions (t/67550/10) bereitstellen sollten. Vielleicht sollten wir das in Betracht ziehen.

7 „Gefällt mir“
// Entfernen des `like`-Buttons
api.removePostMenuButton("like");
// Und erneutes Hinzufügen
api.decorateWidget("post-menu:before-extra-controls", (dec) => {
  return dec.attach("discourse-reactions-actions", {

Anstatt dies zu tun :arrow_up_small:, sollten wir eine replacePostMenuButton-Methode in der Kern-Plugin-API hinzufügen und sie im Reactions-Plugin verwenden. In diesem Fall benötigen wir keine separate Logik für den Reaction-Button im Post-Voting-Plugin.

Da es eine Übergangslösung gibt, werde ich diese Änderung nach der bevorstehenden Veröffentlichung vornehmen.

7 „Gefällt mir“

Dies erforderte 3 PRs, aber deine Implementierungsidee war großartig @vinothkannans, funktioniert einwandfrei. Sobald diese alle zusammengeführt sind, werde ich erneut posten :slight_smile:

9 „Gefällt mir“

Die PRs wurden zusammengeführt und nun (wenn Ihre Discourse-Instanz aktualisiert wurde) respektieren Reaktionen die Einstellung qa_enable_likes_on_answers. Danke für den Fehlerbericht @icaria36 !

4 „Gefällt mir“

Die zusammengeführten PRs brechen die stabile Version von Discourse. Die Seite wird aufgrund eines JavaScript-Fehlers nicht geladen.

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
2 „Gefällt mir“

Ja, das hätte ich vorhersehen sollen. Ich werde einen Fix für das Reactions-Plugin pushen, der einen Fallback implementiert, wenn replacePostMenuButton nicht vorhanden ist.

Bearbeiten: Ich habe eine Änderung zusammengeführt, die Abwärtskompatibilität hinzufügt.

3 „Gefällt mir“

Dieses Thema wurde nach 4 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.