fix: don't show dislikes to regular users

This commit is contained in:
trisua 2025-05-19 18:52:47 -04:00
parent 0ae283ad8e
commit a4d7f44aa3
4 changed files with 53 additions and 10 deletions

View file

@ -63,11 +63,17 @@
<div class="card flex flex-wrap gap-4 flex-collapse">
<!-- prettier-ignore -->
{% for user in list %}
{% for tu in list %}
{% set reaction = tu[0] %}
{% set user = tu[1] %}
<div
style="display: contents"
title="{% if reaction.is_like %}Like{% else %}Dislike{% endif %}"
>
{{ components::user_plate(user=user, secondary=true) }}
{% endfor %}
{{ components::pagination(page=page, items=list|length) }}
</div>
{% endfor %} {{ components::pagination(page=page, items=list|length)
}}
</div>
</div>
</main>

View file

@ -998,7 +998,15 @@ pub async fn likes_request(
// ...
let ignore_users = data.0.get_userblocks_receivers(user.id).await;
let list = match data.0.get_reactions_by_asset(post.id, 12, props.page).await {
let list = match if user.permissions.check(FinePermission::MANAGE_REACTIONS) {
// all reactions
data.0.get_reactions_by_asset(post.id, 12, props.page).await
} else {
// only likes
data.0
.get_likes_reactions_by_asset(post.id, 12, props.page)
.await
} {
Ok(p) => match data.0.fill_reactions(&p, ignore_users).await {
Ok(p) => p,
Err(e) => return Err(Html(render_error(e, &jar, &data, &Some(user)).await)),