diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index 2d29d162..d8fc95c3 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -102,6 +102,22 @@
{{ ' ' }}
{{ $t('notifications.follow_request') }}
+
+
+ {{ ' ' }}
+ {{ $t('notifications.bit') }}
+
+
+
+ {{ ' ' }}
+ {{ $t('notifications.bit_note') }}
+
+
+
{{ $t('settings.notification_visibility_polls') }}
+
diff --git a/src/components/settings_modal/tabs/notifications_tab.vue b/src/components/settings_modal/tabs/notifications_tab.vue
index 5b3a62a9..bf49b60b 100644
--- a/src/components/settings_modal/tabs/notifications_tab.vue
+++ b/src/components/settings_modal/tabs/notifications_tab.vue
@@ -46,6 +46,11 @@
{{ $t('settings.notification_visibility_polls') }}
+
+
+ {{ $t('settings.notification_visibility_bites') }}
+
+
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 617b9002..984d5fc7 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -326,6 +326,8 @@
"who_to_follow": "Who to follow"
},
"notifications": {
+ "bit": "bit you!",
+ "bit_note": "bit your note!",
"broken_favorite": "Unknown post, searching for it…",
"error": "Error fetching notifications: {0}",
"favorited_you": "favorited your post",
@@ -668,6 +670,7 @@
"notification_setting_hide_notification_contents": "Hide the sender and contents of push notifications",
"notification_setting_privacy": "Privacy",
"notification_visibility": "Types of notifications to show",
+ "notification_visibility_bites": "Bites",
"notification_visibility_emoji_reactions": "Reactions",
"notification_visibility_follows": "Follows",
"notification_visibility_likes": "Favorites",
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index b7f382d8..59489cb7 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -418,9 +418,19 @@ export const parseNotification = (data) => {
output.status = isStatusNotification(output.type) ? parseStatus(data.status) : null
output.action = output.status // TODO: Refactor, this is unneeded
}
- output.target = output.type !== 'move'
- ? null
- : parseUser(data.target)
+ output.target = null;
+ if (output.type === 'move') {
+ output.target = parseUser(data.target)
+ }
+ if (output.type === 'bite') {
+ output.target = parseUser(data.account)
+
+ if (data.status) {
+ output.type = "bite_note"
+ output.status = parseStatus(data.status)
+ output.action = output.status // TODO: Refactor, this is unneeded
+ }
+ }
output.from_profile = parseUser(data.account)
output.emoji = data.emoji
output.emoji_url = data.emoji_url
diff --git a/src/services/notification_utils/notification_utils.js b/src/services/notification_utils/notification_utils.js
index fc5b4d8b..f4bde1e0 100644
--- a/src/services/notification_utils/notification_utils.js
+++ b/src/services/notification_utils/notification_utils.js
@@ -15,11 +15,13 @@ export const visibleTypes = store => {
rootState.config.notificationVisibility.followRequest && 'follow_request',
rootState.config.notificationVisibility.moves && 'move',
rootState.config.notificationVisibility.emojiReactions && 'pleroma:emoji_reaction',
- rootState.config.notificationVisibility.polls && 'poll'
+ rootState.config.notificationVisibility.polls && 'poll',
+ rootState.config.notificationVisibility.bites && 'bite',
+ rootState.config.notificationVisibility.bites && 'bite_note'
].filter(_ => _))
}
-const statusNotifications = ['like', 'mention', 'repeat', 'pleroma:emoji_reaction', 'poll']
+const statusNotifications = ['like', 'mention', 'repeat', 'pleroma:emoji_reaction', 'poll', 'bite_note']
export const isStatusNotification = (type) => includes(statusNotifications, type)
@@ -102,6 +104,12 @@ export const prepareNotificationObject = (notification, i18n, store) => {
case 'poll':
i18nString = 'poll_ended'
break
+ case 'bite':
+ i18nString = 'bit'
+ break
+ case 'bite_note':
+ i18nString = 'bit_note'
+ break
}
if (notification.type === 'pleroma:emoji_reaction') {