diff --git a/src/components/notification.jsx b/src/components/notification.jsx
index 20a101ab..ec5e69a3 100644
--- a/src/components/notification.jsx
+++ b/src/components/notification.jsx
@@ -39,16 +39,20 @@ const contentText = {
mention: 'mentioned you in their post.',
status: 'published a post.',
reblog: 'boosted your post.',
+ 'reblog+account': (count) => `boosted ${count} of your posts.`,
reblog_reply: 'boosted your reply.',
follow: 'followed you.',
follow_request: 'requested to follow you.',
favourite: 'favourited your post.',
+ 'favourite+account': (count) => `favourited ${count} of your posts.`,
favourite_reply: 'favourited your reply.',
poll: 'A poll you have voted in or created has ended.',
'poll-self': 'A poll you have created has ended.',
'poll-voted': 'A poll you have voted in has ended.',
update: 'A post you interacted with has been edited.',
'favourite+reblog': 'boosted & favourited your post.',
+ 'favourite+reblog+account': (count) =>
+ `boosted & favourited ${count} of your posts.`,
'favourite+reblog_reply': 'boosted & favourited your reply.',
};
@@ -90,12 +94,19 @@ function Notification({ notification, instance, reload }) {
type === 'favourite' ||
type === 'favourite+reblog'
) {
- text =
- contentText[isReplyToOthers ? `${type}_reply` : type] ||
- contentText[type];
+ if (_statuses?.length > 1) {
+ text = contentText[`${type}+account`];
+ } else if (isReplyToOthers) {
+ text = contentText[`${type}_reply`];
+ } else {
+ text = contentText[type];
+ }
} else {
text = contentText[type];
}
+ if (typeof text === 'function') {
+ text = text(_statuses?.length || _accounts?.length);
+ }
if (type === 'mention' && !status) {
// Could be deleted
@@ -206,7 +217,23 @@ function Notification({ notification, instance, reload }) {
))}