Compare commits

..

5 Commits
develop ... spc

Author SHA1 Message Date
Moon Man a969568ca6 Merge remote-tracking branch 'mkljczk/status-notification-type' into spc 2024-06-06 09:15:31 +00:00
marcin mikołajczak 34285150a0 Add tab to interactions.vue
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-02 09:36:06 +02:00
HJ e33734b474 Merge branch 'tusooa/no-preserve-selection-color' into 'develop'
Ensure selection text color has enough contrast

See merge request pleroma/pleroma-fe!1917
2024-05-31 13:49:06 +00:00
tusooa 3da6f8a2d1
Ensure selection text color has enough contrast 2024-05-31 09:39:31 -04:00
marcin mikołajczak 5c48ea2f1a Support `status` notification type
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-25 08:42:32 +02:00
14 changed files with 50 additions and 7 deletions

View File

@ -0,0 +1 @@
Ensure selection text color has enough contrast

View File

@ -0,0 +1 @@
Support `status` notification type

View File

@ -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'],

View File

@ -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')"

View File

@ -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"

View File

@ -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')"

View File

@ -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: {

View File

@ -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)'
} }
} }
] ]

View File

@ -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">

View File

@ -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",

View File

@ -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,

View File

@ -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

View File

@ -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',

View File

@ -38,6 +38,8 @@ const setSettings = async () => {
switch (k) { switch (k) {
case 'mentions': case 'mentions':
return 'mention' return 'mention'
case 'statuses':
return 'status'
case 'likes': case 'likes':
return 'like' return 'like'
case 'repeats': case 'repeats':