Using data in conditions

I have two like icons in a repeating group (I wanted to set up a comment style of database underneath a post), one is lighter, the other is darker. The lighter ‘like’ icon will appear by default. When the user clicks the default light one, his username will be added to the list of likes, which will increase the like count by one beside it. Afterwards, the darker ‘like’ icon will appear. However, the darker ‘like’ icon does not appear on page load so the icon will return to the default lighter ‘like icon’ upon refresh. I want to set a condition show the darker ‘like’ icon when the user is in the list of likes so that the darker ‘like’ icon will remain at page load. How can i do that?

I would either:

  1. Put a conditional on the darker like icon to make it visible when the Current User’s username is in the list of likes (assuming this is on the DB and not a state). This could get resource-heavy if you anticipate long lists of likes;
    Formula: Current Cell’s [Data Type]'s Liked User’s contains Current User

  2. Have a list data field on the User type with ‘liked [Data Type]’ which stores whichever data type is in the repeating group. Then a condition to make the darker like appear if that cell’s data entry is on the current user’s list. This will be better if the User’s liked list are likely to be shorted than the RG Data Type liked list.
    Formula: Current User’s Liked [Data Type] contains Current Cell’s [Data Type]