Réactions personnalisées sur Discourse

Hello,

I made some CSS modification on Discourse Reactions Plugin. So it looks much like Facebook reaction buttons.

These for 6 reaction buttons including the default which is on my site is :heart: .

COMMON / SCSS
Place this code to common - css section.
Important notice: You can modify the emojis above label with edit content: 'Love it!', content: 'Beautiful' etc… lines: Of course you can use whatever reaction you want. It is just a label above the reactions.

.discourse-reactions-picker {
  .discourse-reactions-picker-container {
    width: 330px;
    height: 50px;
    max-width: calc(100vw - 2em);
    border: 1px solid var(--primary-low) !important;
    border-radius: 50px;
    .pickable-reaction {
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }
  }
  .pickable-reaction {
    background: transparent !important;
    .emoji {
      height: 40px;
      width: 40px;
      padding: 0 !important;
      transform: scale(0.9);
    }
    &.is-used {
      transform: scale(1.3);
      transform-origin: bottom;
      border: none !important;
    }
    &:hover {
      transform-origin: bottom;
    }
    &:hover:after {
      position: absolute;
      font-size: 10px;
      top: -15px;
      background: var(--secondary-low);
      color: var(--secondary);
      padding: 2px 5px;
      border-radius: 20px;
    }
    &:first-child {
      &:hover:after {
        content: 'Love it!';
      }
    }
    &:nth-child(2) {
      &:hover:after {
        content: 'Beautiful';
      }
    }
    &:nth-child(3) {
      &:hover:after {
        content: 'Hug';
      }
    }
    &:nth-child(4) {
      &:hover:after {
        content: 'Congrats!!';
      }
    }
    &:nth-child(5) {
      &:hover:after {
        content: 'Hmm...';
      }
    }
    &:nth-child(6) {
      &:hover:after {
        content: 'Wooow!';
      }
    }
  }
}

react-buttons


Mobile

On mobile I set position fixed the reactions picker position.

This is a possible option to prevent this strange behaviour. :arrow_down:
raction-no-fixed

Looks like this :arrow_down:
reactions-fixed

Same thing happening with state panel on mobile that was on reactions picker so also use position fixed.

Mobile / SCSS

.discourse-reactions-picker {
  position: fixed;
  .pickable-reaction {
    &:hover:after {
      font-size: 12px;
      top: -8px;
    }
    &.is-used {
      &:hover:after {
        transform: scale(0.8);
        top: -15px;
      }
    }
  }
}

.discourse-reactions-state-panel {
  position: fixed;
}

Hide default who liked section

COMMON / CSS

I hide the default who’s liked section because the Reactions State Panel also show those informations.

.who-liked {
  display: none;
}
25 « J'aime »

Like it very much :love_you_gesture:

5 « J'aime »

Awesone this works really nice. Thanks for sharing
:beers::sunglasses::+1::sparkles:

4 « J'aime »

I have it installed and I love it.

A question:

Is it possible to remove that black hover?

2 « J'aime »

Hi Paulina,

I am really glad you like it :heart: Thank you!

To hide the dark hovered user list panel use this code :slightly_smiling_face:

.discourse-reactions-list .reactions .user-list {
  display: none;
}
4 « J'aime »

It worked for me! I love the way it looks, thank you very much. :heart:

2 « J'aime »

Hi Don,

I like your customization very much. A great Job and thanks! :heart:
but I still have a question, how to get rid of the black hover like this?

Selection_060

3 « J'aime »

Hi Neo,

Thank you :heart:

Unfortunately that is not possible to hide title attribute with css but you can edit the js.discourse_reactions.picker.react_with text on /admin/customize/site_texts to make it less longer.

3 « J'aime »

Thanks, I’ve done with it, now it looks better! :wave:

3 « J'aime »

C’est fantastique, @Don. Merci beaucoup.

Je compte l’utiliser sur mon installation Discourse, mais nous avons actuellement deux rangées d’options de réaction (six emojis par rangée, donc 12 emojis au total).

Je ne connais que le CSS juste assez pour m’en sortir, mais ce n’est vraiment pas mon point fort.

Serait-il difficile d’ajuster ce code pour qu’il fonctionne pour ce type d’arrangement ?

J’apprécie vraiment que vous partagiez cela (même si je suis assez en retard !).

3 « J'aime »

Merci JR :slightly_smiling_face: Je pense que je vais créer un composant de thème à partir de cela pour le rendre plus facile à utiliser et l’adapter aux réactions, ajouter quelques corrections, etc… J’espère que cela aidera. J’essaierai de le faire la semaine prochaine.

5 « J'aime »

Merci beaucoup, @Don ! Ce serait incroyable et un complément/ajout très apprécié. Je garderai certainement un œil dessus.

3 « J'aime »

Happy So Excited GIF

2 « J'aime »

Bonjour,

J’ai créé un composant de thème à partir de cela. Je pense que cela facilite les choses. :slightly_smiling_face:

Grâce au composant de thème créé précédemment par @manuel Category List with Banners, je peux facilement implémenter le paramètre de liste dans l’étiquette des réactions. Merci :heart:

J’ai ajouté des corrections et quelques paramètres :

  1. reactions_label
    Séparez avec un point-virgule ;
    nom de la réaction;étiquette de la réaction
    May-29-2022 17-02-05

  2. reactions picker rounding
    Arrondi des coins du sélecteur de réactions (border-radius). Vous pouvez utiliser px, em, etc.
    Par défaut 1em.


    Si vous souhaitez le rendre plus ou moins arrondi, modifiez ce paramètre.
    La version précédente était de 2em.

  3. state panel rounding
    Arrondi des coins du panneau d’état des réactions (border-radius). Vous pouvez utiliser px, em, etc.

  4. user list rounding
    Arrondi des coins de la liste des utilisateurs de réactions (border-radius). Vous pouvez utiliser px, em, etc.

  5. hide user list heading
    Cette option masquera l’en-tête de la liste des utilisateurs sur le panneau. L’en-tête est smiley sur cette image.

  6. hide user list
    Cette option masquera le panneau de la liste des utilisateurs. C’est le panneau sombre survolé.

  7. hide who liked
    Cette option masquera la section par défaut “qui a aimé”.

J’ai encore quelques projets avec ce composant, que j’ajouterai plus tard. :slightly_smiling_face:

17 « J'aime »