diff --git a/packages/frontend/src/pages/settings/notifications.notification-config.vue b/packages/frontend/src/pages/settings/notifications.notification-config.vue index 06686c3204f6480917fff9a237a0af4ffa6c281e..d7c8ff75353463a1f8175c6c27998fdfa2f16dd4 100644 --- a/packages/frontend/src/pages/settings/notifications.notification-config.vue +++ b/packages/frontend/src/pages/settings/notifications.notification-config.vue @@ -7,10 +7,10 @@ SPDX-License-Identifier: AGPL-3.0-only <div class="_gaps_m"> <MkSelect v-model="type"> <option value="all">{{ i18n.ts.all }}</option> - <option value="following">{{ i18n.ts.following }}</option> - <option value="follower">{{ i18n.ts.followers }}</option> - <option value="mutualFollow">{{ i18n.ts.mutualFollow }}</option> - <option value="list">{{ i18n.ts.userList }}</option> + <option value="following" v-if="hasSender">{{ i18n.ts.following }}</option> + <option value="follower" v-if="hasSender">{{ i18n.ts.followers }}</option> + <option value="mutualFollow" v-if="hasSender">{{ i18n.ts.mutualFollow }}</option> + <option value="list" v-if="hasSender">{{ i18n.ts.userList }}</option> <option value="never">{{ i18n.ts.none }}</option> </MkSelect> @@ -32,10 +32,13 @@ import MkSelect from '@/components/MkSelect.vue'; import MkButton from '@/components/MkButton.vue'; import { i18n } from '@/i18n.js'; -const props = defineProps<{ +const props = withDefaults(defineProps<{ value: any; userLists: Misskey.entities.UserList[]; -}>(); + hasSender: boolean; +}>(), { + hasSender: true, +}); const emit = defineEmits<{ (ev: 'update', result: any): void; diff --git a/packages/frontend/src/pages/settings/notifications.vue b/packages/frontend/src/pages/settings/notifications.vue index 8d71e2c28b0eab7275b868ba31975eacc191a5fb..ce7c48d9b61177a6a3024678719b00ffe1f3c289 100644 --- a/packages/frontend/src/pages/settings/notifications.vue +++ b/packages/frontend/src/pages/settings/notifications.vue @@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only }} </template> - <XNotificationConfig :userLists="userLists" :value="$i.notificationRecieveConfig[type] ?? { type: 'all' }" @update="(res) => updateReceiveConfig(type, res)"/> + <XNotificationConfig :userLists="userLists" :value="$i.notificationRecieveConfig[type] ?? { type: 'all' }" :hasSender="!(notificationTypesWithoutSender.includes(type))" @update="(res) => updateReceiveConfig(type, res)"/> </MkFolder> </div> </FormSection> @@ -71,7 +71,8 @@ import { notificationTypes } from '@/const.js'; const $i = signinRequired(); -const nonConfigurableNotificationTypes = ['note', 'roleAssigned', 'followRequestAccepted', 'achievementEarned']; +const nonConfigurableNotificationTypes = ['note', 'roleAssigned', 'followRequestAccepted']; +const notificationTypesWithoutSender = ['achievementEarned']; const allowButton = shallowRef<InstanceType<typeof MkPushNotificationAllowButton>>(); const pushRegistrationInServer = computed(() => allowButton.value?.pushRegistrationInServer);