docbrown/app/views/notifications/_single_reaction.html.erb
Joshua Wehner ea2154d506
Fixing design issues with multiple reactions (#19020)
* Try disabling text-select (mobile long-tap)

* Try to force button color on mobile safari

* Try making notification decorator more helpful

* More using notification decorator

* Helper so I can see exceptions

* As we toggle feature flag, temporary show 'heart' for unsupported reactions

* Reaction on Comment is a 'reaction'-type notification

* Temporarily add new emojis to i18n

* Render full-color, unique SVGs for multiple_reactions

* Restore card layout

* Aggregate reaction icons also need unique SVGs

* This seems unnecessary?

* Multiple is -more-than-one-

* Display *unique* reaction categories on /notifications

* Comment notification no longer needs to re-render as reaction

* Decorator needs to handle some data gaps

* Fix NotificationHelper

* Try a better name for this

* Tests for the notification decorator

* These partials wound up without an outer layer

* Add a descriptive comment

* index needs force_unique

* Try multiple reactions external img (#19076)

* Try external img SVGs

* Unique SVG might not be necessary if this works

* Can also remove this spec if successful

* Restore flash icon behavior

* Plus external img for #index as well
2023-02-08 11:39:47 +01:00

27 lines
1.3 KiB
Text

<div class="crayons-card notification">
<div class="flex items-center">
<% cache "activity-profile-pic-#{notification.user_id}-#{notification.user_profile_image_90}" do %>
<%= render "notifications/shared/profile_pic", json_data: notification.json_data %>
<% end %>
<div class="notification__content">
<%# title is blank when it's a comment with only an image, for example %>
<% title = if notification.reactable_title.present?
sanitize(notification.reactable_title)
else
t("views.notifications.reacted.your.#{notification.reactable_type.downcase}")
end %>
<% title_link = link_to(title, notification.reactable_path, class: "crayons-link fw-bold") %>
<%= t("views.notifications.reacted.verb_html",
count: 1,
start: "",
actors: link_to(notification.user_name, notification.user_path, class: "crayons-link fw-bold"),
title: title_link,
end: "",
reactions: tag.span(image_tag(reaction_image(notification.reaction_category),
class: "reaction-image mx-1 reaction-icon--#{notification.reaction_category}",
title: t("views.reactions.category.#{notification.reaction_category}")))) %>
</div>
</div>
</div>