diff --git a/src/components/settings_modal/settings_modal.scss b/src/components/settings_modal/settings_modal.scss
index 49ef83e0..6bc9459b 100644
--- a/src/components/settings_modal/settings_modal.scss
+++ b/src/components/settings_modal/settings_modal.scss
@@ -3,6 +3,10 @@
.settings-modal {
overflow: hidden;
+ h4 {
+ margin-bottom: 0.5em;
+ }
+
.setting-list,
.option-list {
list-style-type: none;
@@ -15,6 +19,14 @@
.suboptions {
margin-top: 0.3em;
}
+
+ &.two-column {
+ column-count: 2;
+
+ > li {
+ break-inside: avoid;
+ }
+ }
}
.setting-description {
diff --git a/src/components/settings_modal/tabs/notifications_tab.js b/src/components/settings_modal/tabs/notifications_tab.js
index 3c6ab87f..c53b5889 100644
--- a/src/components/settings_modal/tabs/notifications_tab.js
+++ b/src/components/settings_modal/tabs/notifications_tab.js
@@ -16,6 +16,10 @@ const NotificationsTab = {
user () {
return this.$store.state.users.currentUser
},
+ canReceiveReports () {
+ if (!this.user) { return false }
+ return this.user.privileges.includes('reports_manage_reports')
+ },
...SharedComputedObject()
},
methods: {
diff --git a/src/components/settings_modal/tabs/notifications_tab.vue b/src/components/settings_modal/tabs/notifications_tab.vue
index fcee85a0..00d0f921 100644
--- a/src/components/settings_modal/tabs/notifications_tab.vue
+++ b/src/components/settings_modal/tabs/notifications_tab.vue
@@ -34,43 +34,128 @@
{{ $t('settings.notification_setting_block_from_strangers') }}
-
- {{ $t('settings.notification_visibility') }}
-
+ -
+
{{ $t('settings.notification_visibility') }}
+
-
-
- {{ $t('settings.notification_visibility_likes') }}
-
+
{{ $t('settings.notification_visibility_mentions') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_repeats') }}
-
+
{{ $t('settings.notification_visibility_likes') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_follows') }}
-
+
{{ $t('settings.notification_visibility_repeats') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_mentions') }}
-
+
{{ $t('settings.notification_visibility_emoji_reactions') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_moves') }}
-
+
{{ $t('settings.notification_visibility_follows') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_emoji_reactions') }}
-
+
{{ $t('settings.notification_visibility_moves') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
-
-
- {{ $t('settings.notification_visibility_polls') }}
-
+
{{ $t('settings.notification_visibility_polls') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
+
+ -
+
{{ $t('settings.notification_visibility_reports') }}
+
+ -
+
+ {{ $t('settings.notification_visibility_in_column') }}
+
+
+ -
+
+ {{ $t('settings.notification_visibility_native_notifications') }}
+
+
+
diff --git a/src/i18n/en.json b/src/i18n/en.json
index b31793cb..658e3b8e 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -561,10 +561,13 @@
"posts": "Posts",
"user_profiles": "User Profiles",
"notification_visibility": "Types of notifications to show",
+ "notification_visibility_in_column": "Show in notifications column/drawer",
+ "notification_visibility_native_notifications": "Show a native notification",
"notification_visibility_follows": "Follows",
"notification_visibility_likes": "Favorites",
"notification_visibility_mentions": "Mentions",
"notification_visibility_repeats": "Repeats",
+ "notification_visibility_reports": "Reports",
"notification_visibility_moves": "User Migrates",
"notification_visibility_emoji_reactions": "Reactions",
"notification_visibility_polls": "Ends of polls you voted in",
diff --git a/src/modules/config.js b/src/modules/config.js
index a3f7bcaf..db1d564e 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -66,8 +66,17 @@ export const defaultState = {
chatMention: true,
polls: true
},
- notificationSettings: {
- nativeNotifications: ['follows', 'mentions', 'followRequest', 'reports', 'chatMention', 'polls']
+ notificationNative: {
+ follows: true,
+ mentions: true,
+ likes: false,
+ repeats: false,
+ moves: false,
+ emojiReactions: false,
+ followRequest: true,
+ reports: true,
+ chatMention: true,
+ polls: true
},
webPushNotifications: false,
muteWords: [],