Extend Topic List Thumbnails TC with like button


We’re using the Topic List Thumbnails TC on our forum’s gallery and we’d like to have a like counter/button on the gallery cards to increase our user engagement there - see my ugly mockup below where I replaced the user avatar with the like widget.

I discussed this with @david and he commented:

We don’t have any immediate plans for further development on this theme component. However, if someone is interested in adding the feature it could be #pr-welcome as long as the technical implementation is solid. Alternatively, it could probably be implemented in a totally separate theme component, which could also prove ‘like’ ability for non-thumbnail topic lists.

I’d prefer to have this integrated into the theme component, but if it would be a lot easier/cheaper to build I’m not against a stand alone component either.

I’m not sure what a reasonable budget for this is - how’s EUR 100?


A little extra detail: for us to accept it as a contribution into the core component it would need to be optional, and disabled-by-default (so we don’t change the behaviour for any existing users).

In terms of implementation, topic lists already have a ‘liked’ boolean, so you could use that to decide whether the :heart: is filled in. On click, it would need to send an ajax request to the ‘like’ API, and would need to handle any potential error conditions. (e.g. archived topics can’t be liked, you can’t revoke a like after a certain time period, etc.)


Hi Bart,
I am interested to take this up, sending you a PM

Just to point out the obvious, but Topic List Previews Theme Component - theme - Discourse Meta (in combo with the sidecar plugin) already provides liking from the Topic List. Not only that but it supports bookmarking from the Topic List too. Both have been supported for years. You can see both in action here.

I know you are concerned about stability, but actually TLP TC has been very stable over the last year.

And in terms of support, you can switch between the components very easily if TLP TC was ever to have a critical issue outside of our free support period. Can’t remember the last time though … and because I use this component myself it gets pretty speedy fixes.

You also have the option of running a staging environment to pre-check upgrades to be really risk averse.