Wishlist: visual cue for "user got a badge for this post"

I’m happy with customisation (effects, whatever) to require a knowledge of CSS, but the initial show/hide functionality, and what badges to in/ex-clude, should be available as a setting.

7 Likes

I think there is a Discourse Hosting plan where this isn’t possible at all. Also a lot of admins struggle to add css to a theme they installed from GitHub.
But my point was more focused on the fact, that you first need to be aware that css exists and makes it quite easy to hide things. Documentation can certainly help, but in my experience most people don’t read it.

Why is there a setting to disable the “Powered by Discourse” link? It could also easily be hidden with css too

6 Likes

Thanks for the additional feedback, everyone! I’ll investigate adding some settings today. :slightly_smiling_face:

3 Likes

Here’s my first pass at adding settings.

Global Setting

Per-Badge Setting

The settings themselves are fairly straightforward, but the behaviour is a little more complicated than I’d really like. In order to avoid exposing information that shouldn’t be exposed, displaying a badge on a post currently requires these three settings to be enabled:

  1. Show badge on the public badges page
  2. Show post granting badge on badge page
  3. Show badge on the post it was granted for

The reason for each is:

  1. It seems contradictory to show badges on the post when they’re not shown on the public badges page.
  2. It seems like a potential information leak to show badges on the post when we don’t show the post on the badge page.
  3. This is the new setting to allow the badge to be shown on the post.

Assuming that it’s reasonable to have this new option depend on existing options being set, it brings up a few questions that very much depend upon the overall design language of Discourse, so I’d really appreciate some additional feedback here, @chapoi.

In particular, what’s the appropriate way to show in the Discourse admin that one option won’t take effect until others are enabled?

A related question is that if a system badge doesn’t have both of the first two options enabled, the new option will never do anything, since those options are read-only on system badges. Is it appropriate to mark it as a read-only setting for these badges, but leave it configurable for all other system badges?

Finally, a question for everyone who’s interested: which system badges should come with this option enabled by default?

3 Likes

Very good points, thanks for diving deeply into it!

Yes, I think you’re on the right track here.

Atm, I think we are lacking a structured approach to this.

I’m thinking we’ll need something like:

But with better copy. :sweat_smile:

What do you think @ella (our admin design-lead)

2 Likes

Thanks for the idea, Charlie, I think that could work.

I couldn’t find any examples of this kind of UI elsewhere in the Discourse admin, so I put this together myself. It needs some polish (and could still use better copy! :smile:), but it’s enough to give a rough idea of how it could function.

4 Likes

I tend to lean toward the ones in the Posting category.

3 Likes

Agreed, adding some structure here would make this way clearer, example:

Usage

  • Allow badge to be used as a title
  • Can be granted multiple times

Visibility

  • Show badge on the public badges page
  • Show post granting badge on badge page
  • Show badge on the post it was granted for

For the tooltip, how about:

Requires both ‘Show badge on the public badges page’ and ‘Show post granting badge on badge page’ to be enabled.

4 Likes