Compare commits
5 Commits
82db31f7ac
...
a969568ca6
Author | SHA1 | Date |
---|---|---|
Moon Man | a969568ca6 | |
marcin mikołajczak | 34285150a0 | |
HJ | e33734b474 | |
tusooa | 3da6f8a2d1 | |
marcin mikołajczak | 5c48ea2f1a |
|
@ -0,0 +1 @@
|
||||||
|
Ensure selection text color has enough contrast
|
|
@ -0,0 +1 @@
|
||||||
|
Support `status` notification type
|
|
@ -3,6 +3,7 @@ import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
|
||||||
|
|
||||||
const tabModeDict = {
|
const tabModeDict = {
|
||||||
mentions: ['mention'],
|
mentions: ['mention'],
|
||||||
|
statuses: ['status'],
|
||||||
'likes+repeats': ['repeat', 'like'],
|
'likes+repeats': ['repeat', 'like'],
|
||||||
follows: ['follow'],
|
follows: ['follow'],
|
||||||
reactions: ['pleroma:emoji_reaction'],
|
reactions: ['pleroma:emoji_reaction'],
|
||||||
|
|
|
@ -10,9 +10,13 @@
|
||||||
:on-switch="onModeSwitch"
|
:on-switch="onModeSwitch"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
key="mentions"
|
key="statuses"
|
||||||
:label="$t('nav.mentions')"
|
:label="$t('nav.mentions')"
|
||||||
/>
|
/>
|
||||||
|
<span
|
||||||
|
key="statuses"
|
||||||
|
:label="$t('interactions.statuses')"
|
||||||
|
/>
|
||||||
<span
|
<span
|
||||||
key="likes+repeats"
|
key="likes+repeats"
|
||||||
:label="$t('interactions.favs_repeats')"
|
:label="$t('interactions.favs_repeats')"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<article
|
<article
|
||||||
v-if="notification.type === 'mention'"
|
v-if="notification.type === 'mention' || notification.type === 'status'"
|
||||||
>
|
>
|
||||||
<Status
|
<Status
|
||||||
class="Notification"
|
class="Notification"
|
||||||
|
|
|
@ -43,6 +43,15 @@
|
||||||
:class="{ 'menu-checkbox-checked': filters.mentions }"
|
:class="{ 'menu-checkbox-checked': filters.mentions }"
|
||||||
/>{{ $t('settings.notification_visibility_mentions') }}
|
/>{{ $t('settings.notification_visibility_mentions') }}
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
class="menu-item dropdown-item"
|
||||||
|
@click="toggleNotificationFilter('statuses')"
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="input menu-checkbox"
|
||||||
|
:class="{ 'menu-checkbox-checked': filters.statuses }"
|
||||||
|
/>{{ $t('settings.notification_visibility_statuses') }}
|
||||||
|
</button>
|
||||||
<button
|
<button
|
||||||
class="menu-item dropdown-item"
|
class="menu-item dropdown-item"
|
||||||
@click="toggleNotificationFilter('emojiReactions')"
|
@click="toggleNotificationFilter('emojiReactions')"
|
||||||
|
|
|
@ -33,7 +33,7 @@ const Notifications = {
|
||||||
// Disables panel styles, unread mark, potentially other notification-related actions
|
// Disables panel styles, unread mark, potentially other notification-related actions
|
||||||
// meant for "Interactions" timeline
|
// meant for "Interactions" timeline
|
||||||
minimalMode: Boolean,
|
minimalMode: Boolean,
|
||||||
// Custom filter mode, an array of strings, possible values 'mention', 'repeat', 'like', 'follow', used to override global filter for use in "Interactions" timeline
|
// Custom filter mode, an array of strings, possible values 'mention', 'status', 'repeat', 'like', 'follow', used to override global filter for use in "Interactions" timeline
|
||||||
filterMode: Array,
|
filterMode: Array,
|
||||||
// Do not show extra notifications
|
// Do not show extra notifications
|
||||||
noExtra: {
|
noExtra: {
|
||||||
|
|
|
@ -37,7 +37,7 @@ export default {
|
||||||
|
|
||||||
// Selection colors
|
// Selection colors
|
||||||
'--selectionBackground': 'color | --accent',
|
'--selectionBackground': 'color | --accent',
|
||||||
'--selectionText': 'color | $textColor(--accent, --text)'
|
'--selectionText': 'color | $textColor(--accent, --text, no-preserve)'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -60,6 +60,21 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<h4> {{ $t('settings.notification_visibility_statuses') }}</h4>
|
||||||
|
<ul class="setting-list">
|
||||||
|
<li>
|
||||||
|
<BooleanSetting path="notificationVisibility.statuses">
|
||||||
|
{{ $t('settings.notification_visibility_in_column') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting path="notificationNative.statuses">
|
||||||
|
{{ $t('settings.notification_visibility_native_notifications') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<h4> {{ $t('settings.notification_visibility_likes') }}</h4>
|
<h4> {{ $t('settings.notification_visibility_likes') }}</h4>
|
||||||
<ul class="setting-list">
|
<ul class="setting-list">
|
||||||
|
|
|
@ -212,7 +212,8 @@
|
||||||
"unread_follow_requests": "{num} new follow request | {num} new follow requests",
|
"unread_follow_requests": "{num} new follow request | {num} new follow requests",
|
||||||
"configuration_tip": "You can customize what to display here in {theSettings}. {dismiss}",
|
"configuration_tip": "You can customize what to display here in {theSettings}. {dismiss}",
|
||||||
"configuration_tip_settings": "the settings",
|
"configuration_tip_settings": "the settings",
|
||||||
"configuration_tip_dismiss": "Do not show again"
|
"configuration_tip_dismiss": "Do not show again",
|
||||||
|
"subscribed_status": "posted"
|
||||||
},
|
},
|
||||||
"polls": {
|
"polls": {
|
||||||
"add_poll": "Add poll",
|
"add_poll": "Add poll",
|
||||||
|
@ -264,7 +265,8 @@
|
||||||
"emoji_reactions": "Emoji Reactions",
|
"emoji_reactions": "Emoji Reactions",
|
||||||
"reports": "Reports",
|
"reports": "Reports",
|
||||||
"moves": "User migrates",
|
"moves": "User migrates",
|
||||||
"load_older": "Load older interactions"
|
"load_older": "Load older interactions",
|
||||||
|
"statuses": "Subscriptions"
|
||||||
},
|
},
|
||||||
"post_status": {
|
"post_status": {
|
||||||
"edit_status": "Edit status",
|
"edit_status": "Edit status",
|
||||||
|
@ -588,6 +590,7 @@
|
||||||
"notification_visibility_moves": "User Migrates",
|
"notification_visibility_moves": "User Migrates",
|
||||||
"notification_visibility_emoji_reactions": "Reactions",
|
"notification_visibility_emoji_reactions": "Reactions",
|
||||||
"notification_visibility_polls": "Ends of polls you voted in",
|
"notification_visibility_polls": "Ends of polls you voted in",
|
||||||
|
"notification_visibility_statuses": "Subscriptions",
|
||||||
"notification_show_extra": "Show extra notifications in the notifications column",
|
"notification_show_extra": "Show extra notifications in the notifications column",
|
||||||
"notification_extra_chats": "Show unread chats",
|
"notification_extra_chats": "Show unread chats",
|
||||||
"notification_extra_announcements": "Show unread announcements",
|
"notification_extra_announcements": "Show unread announcements",
|
||||||
|
|
|
@ -60,6 +60,7 @@ export const defaultState = {
|
||||||
notificationVisibility: {
|
notificationVisibility: {
|
||||||
follows: true,
|
follows: true,
|
||||||
mentions: true,
|
mentions: true,
|
||||||
|
statuses: true,
|
||||||
likes: true,
|
likes: true,
|
||||||
repeats: true,
|
repeats: true,
|
||||||
moves: true,
|
moves: true,
|
||||||
|
@ -72,6 +73,7 @@ export const defaultState = {
|
||||||
notificationNative: {
|
notificationNative: {
|
||||||
follows: true,
|
follows: true,
|
||||||
mentions: true,
|
mentions: true,
|
||||||
|
statuses: true,
|
||||||
likes: false,
|
likes: false,
|
||||||
repeats: false,
|
repeats: false,
|
||||||
moves: false,
|
moves: false,
|
||||||
|
|
|
@ -18,6 +18,7 @@ export const visibleTypes = store => {
|
||||||
return ([
|
return ([
|
||||||
notificationVisibility.likes && 'like',
|
notificationVisibility.likes && 'like',
|
||||||
notificationVisibility.mentions && 'mention',
|
notificationVisibility.mentions && 'mention',
|
||||||
|
notificationVisibility.statuses && 'status',
|
||||||
notificationVisibility.repeats && 'repeat',
|
notificationVisibility.repeats && 'repeat',
|
||||||
notificationVisibility.follows && 'follow',
|
notificationVisibility.follows && 'follow',
|
||||||
notificationVisibility.followRequest && 'follow_request',
|
notificationVisibility.followRequest && 'follow_request',
|
||||||
|
@ -28,7 +29,7 @@ export const visibleTypes = store => {
|
||||||
].filter(_ => _))
|
].filter(_ => _))
|
||||||
}
|
}
|
||||||
|
|
||||||
const statusNotifications = new Set(['like', 'mention', 'repeat', 'pleroma:emoji_reaction', 'poll'])
|
const statusNotifications = new Set(['like', 'mention', 'status', 'repeat', 'pleroma:emoji_reaction', 'poll'])
|
||||||
|
|
||||||
export const isStatusNotification = (type) => statusNotifications.has(type)
|
export const isStatusNotification = (type) => statusNotifications.has(type)
|
||||||
|
|
||||||
|
@ -118,6 +119,9 @@ export const prepareNotificationObject = (notification, i18n) => {
|
||||||
case 'like':
|
case 'like':
|
||||||
i18nString = 'favorited_you'
|
i18nString = 'favorited_you'
|
||||||
break
|
break
|
||||||
|
case 'status':
|
||||||
|
i18nString = 'subscribed_status'
|
||||||
|
break
|
||||||
case 'repeat':
|
case 'repeat':
|
||||||
i18nString = 'repeated_you'
|
i18nString = 'repeated_you'
|
||||||
break
|
break
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { promiseInterval } from '../promise_interval/promise_interval.js'
|
||||||
// Note: chat_mention excluded as pleroma-fe polls them separately
|
// Note: chat_mention excluded as pleroma-fe polls them separately
|
||||||
const mastoApiNotificationTypes = [
|
const mastoApiNotificationTypes = [
|
||||||
'mention',
|
'mention',
|
||||||
|
'status',
|
||||||
'favourite',
|
'favourite',
|
||||||
'reblog',
|
'reblog',
|
||||||
'follow',
|
'follow',
|
||||||
|
|
Loading…
Reference in New Issue