From 716320de352f93e5a8d09db6d023833d1db9eb27 Mon Sep 17 00:00:00 2001 From: sfr Date: Mon, 27 Jun 2022 16:15:24 +0000 Subject: [PATCH] Respect subject lines in notifications (#23) Reviewed-on: https://akkoma.dev/AkkomaGang/pleroma-fe/pulls/23 Co-authored-by: sfr Co-committed-by: sfr --- .../settings_modal/tabs/notifications_tab.vue | 8 ++++++++ src/i18n/en.json | 1 + src/modules/config.js | 1 + .../notification_utils/notification_utils.js | 14 +++++++++++--- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/settings_modal/tabs/notifications_tab.vue b/src/components/settings_modal/tabs/notifications_tab.vue index dd3806ed..5b3a62a9 100644 --- a/src/components/settings_modal/tabs/notifications_tab.vue +++ b/src/components/settings_modal/tabs/notifications_tab.vue @@ -65,6 +65,14 @@ {{ $t('settings.enable_web_push_notifications') }} +
  • + + {{ $t('settings.notification_setting_hide_if_cw') }} + +
  • { if (!visibleTypes(store).includes(notification.type)) return if (notification.type === 'mention' && isMutedNotification(store, notification)) return - const notificationObject = prepareNotificationObject(notification, store.rootGetters.i18n) + const notificationObject = prepareNotificationObject(notification, store.rootGetters.i18n, store) showDesktopNotification(rootState, notificationObject) } @@ -74,7 +74,7 @@ export const filteredNotificationsFromStore = (store, types) => { export const unseenNotificationsFromStore = store => filter(filteredNotificationsFromStore(store), ({ seen }) => !seen) -export const prepareNotificationObject = (notification, i18n) => { +export const prepareNotificationObject = (notification, i18n, store) => { const notifObj = { tag: notification.id } @@ -109,7 +109,15 @@ export const prepareNotificationObject = (notification, i18n) => { } else if (i18nString) { notifObj.body = i18n.t('notifications.' + i18nString) } else if (isStatusNotification(notification.type)) { - notifObj.body = notification.status.text + if (notification.status.summary) { + if (store.getters.mergedConfig.webPushHideIfCW) { + notifObj.body = notification.status.summary + } else { + notifObj.body = `${notification.status.summary}:\n${notification.status.text}` + } + } else { + notifObj.body = notification.status.text + } } // Shows first attached non-nsfw image, if any. Should add configuration for this somehow...