diff --git a/packages/backend/assets/notification-badges/LICENSE b/packages/backend/assets/notification-badges/LICENSE deleted file mode 100644 index 841c4c682b152916711218db38949621278781ef..0000000000000000000000000000000000000000 --- a/packages/backend/assets/notification-badges/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Font Awesome Icons -------------------------- - -Ⓒ Font Awesome -CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/packages/backend/assets/notification-badges/at.png b/packages/backend/assets/notification-badges/at.png deleted file mode 100644 index d1492856de2b2f837a24a439eaa13631283aa87a..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/at.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/check.png b/packages/backend/assets/notification-badges/check.png deleted file mode 100644 index baeb76babfa3f9f8dff025f7a007a0be3eeb69b8..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/check.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/clipboard-check-solid.png b/packages/backend/assets/notification-badges/clipboard-check-solid.png deleted file mode 100644 index d8cdfa9da4562d7a247ab7c734933be48bc68fc6..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/clipboard-check-solid.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/clock.png b/packages/backend/assets/notification-badges/clock.png deleted file mode 100644 index 9323f8f3070dd4ef538f7df33d54975c449d7cf6..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/clock.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/comments.png b/packages/backend/assets/notification-badges/comments.png deleted file mode 100644 index bc8a1c35b4423bc08af88c3c72d4d29c6e81c6bf..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/comments.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/id-card-alt.png b/packages/backend/assets/notification-badges/id-card-alt.png deleted file mode 100644 index 67e1410e34cb2a6ec1a17ebd89dc15fdfff87205..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/id-card-alt.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/plus.png b/packages/backend/assets/notification-badges/plus.png deleted file mode 100644 index 05362c122bd2162d5c5ed95c7e8f2d40d9e7eff4..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/plus.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/poll-h.png b/packages/backend/assets/notification-badges/poll-h.png deleted file mode 100644 index 3b7ded66597679a8d19ef9eccc09834fa7a4f222..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/poll-h.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/quote-right.png b/packages/backend/assets/notification-badges/quote-right.png deleted file mode 100644 index 0fa483765481dd43d88a470c45614c6a782c748b..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/quote-right.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/reply.png b/packages/backend/assets/notification-badges/reply.png deleted file mode 100644 index 77021f71a7af666a33db652aaaf997508200c769..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/reply.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/retweet.png b/packages/backend/assets/notification-badges/retweet.png deleted file mode 100644 index dc6106048107a8459bd6efc921835d9bf2e25d9b..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/retweet.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/satellite.png b/packages/backend/assets/notification-badges/satellite.png deleted file mode 100644 index 0e1831e8a04a1c92fbcba2d48ee62a94c4ad0a3b..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/satellite.png and /dev/null differ diff --git a/packages/backend/assets/notification-badges/user-plus.png b/packages/backend/assets/notification-badges/user-plus.png deleted file mode 100644 index 9d376d04d666f856fc927a82cf78ddadc4629e8b..0000000000000000000000000000000000000000 Binary files a/packages/backend/assets/notification-badges/user-plus.png and /dev/null differ diff --git a/packages/backend/assets/tabler-badges/LICENSE b/packages/backend/assets/tabler-badges/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..cab2551f6760a87cb67b86ce09b0be8bdb656142 --- /dev/null +++ b/packages/backend/assets/tabler-badges/LICENSE @@ -0,0 +1,24 @@ +Tabler Icons +https://github.com/tabler/tabler-icons/blob/master/LICENSE +==== +MIT License + +Copyright (c) 2020-2022 Paweł Kuna + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/backend/assets/tabler-badges/antenna.png b/packages/backend/assets/tabler-badges/antenna.png new file mode 100644 index 0000000000000000000000000000000000000000..013c7f4e61cec955ccd453551b9c056ed9ed901b Binary files /dev/null and b/packages/backend/assets/tabler-badges/antenna.png differ diff --git a/packages/backend/assets/tabler-badges/arrow-back-up.png b/packages/backend/assets/tabler-badges/arrow-back-up.png new file mode 100644 index 0000000000000000000000000000000000000000..a253384c72bce2068c2b4518b7403b7dcce4cdaf Binary files /dev/null and b/packages/backend/assets/tabler-badges/arrow-back-up.png differ diff --git a/packages/backend/assets/tabler-badges/at.png b/packages/backend/assets/tabler-badges/at.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf8df4925a5211183e17e6d4f64e46d75300509 Binary files /dev/null and b/packages/backend/assets/tabler-badges/at.png differ diff --git a/packages/backend/assets/tabler-badges/chart-arrows.png b/packages/backend/assets/tabler-badges/chart-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b8a2d99367e27fc9eeb5a7ccd964a3a150b32b Binary files /dev/null and b/packages/backend/assets/tabler-badges/chart-arrows.png differ diff --git a/packages/backend/assets/tabler-badges/circle-check.png b/packages/backend/assets/tabler-badges/circle-check.png new file mode 100644 index 0000000000000000000000000000000000000000..6464d5133cc838edc4f68f9a98e711b0fae44fe5 Binary files /dev/null and b/packages/backend/assets/tabler-badges/circle-check.png differ diff --git a/packages/backend/assets/tabler-badges/messages.png b/packages/backend/assets/tabler-badges/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5072ebba50da94e0ca42d23f5756579ec610ab Binary files /dev/null and b/packages/backend/assets/tabler-badges/messages.png differ diff --git a/packages/backend/assets/notification-badges/null.png b/packages/backend/assets/tabler-badges/null.png similarity index 100% rename from packages/backend/assets/notification-badges/null.png rename to packages/backend/assets/tabler-badges/null.png diff --git a/packages/backend/assets/tabler-badges/plus.png b/packages/backend/assets/tabler-badges/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..f13a86f4cdfad66e7b19b22d411d86335cf21e3e Binary files /dev/null and b/packages/backend/assets/tabler-badges/plus.png differ diff --git a/packages/backend/assets/tabler-badges/quote.png b/packages/backend/assets/tabler-badges/quote.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fc6f3fb42884f7a7a1f94b5706a4b2a2ea368b Binary files /dev/null and b/packages/backend/assets/tabler-badges/quote.png differ diff --git a/packages/backend/assets/tabler-badges/repeat.png b/packages/backend/assets/tabler-badges/repeat.png new file mode 100644 index 0000000000000000000000000000000000000000..ab548043f73bed11cce7cdad74a8f7bf0ab2fbf3 Binary files /dev/null and b/packages/backend/assets/tabler-badges/repeat.png differ diff --git a/packages/backend/assets/tabler-badges/user-plus.png b/packages/backend/assets/tabler-badges/user-plus.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae96f0b7379d9896a6570c91b42c1c08f63b20b Binary files /dev/null and b/packages/backend/assets/tabler-badges/user-plus.png differ diff --git a/packages/backend/assets/tabler-badges/users.png b/packages/backend/assets/tabler-badges/users.png new file mode 100644 index 0000000000000000000000000000000000000000..7862963327a034ab20da73c84ca18aea46080375 Binary files /dev/null and b/packages/backend/assets/tabler-badges/users.png differ diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts index 4b006e0f5ac9df0a7236f7b6899d82ced1b8bb1b..6744687fcc568385b8a0e6d2ed5ec83ea8f0cf17 100644 --- a/packages/sw/src/scripts/create-notification.ts +++ b/packages/sw/src/scripts/create-notification.ts @@ -3,14 +3,21 @@ */ import { swLang } from '@/scripts/lang'; import { cli } from '@/scripts/operations'; -import { pushNotificationDataMap } from '@/types'; +import { badgeNames, pushNotificationDataMap } from '@/types'; import getUserName from '@/scripts/get-user-name'; import { I18n } from '@/scripts/i18n'; import { getAccountFromId } from '@/scripts/get-account-from-id'; import { char2fileName } from '@/scripts/twemoji-base'; import * as url from '@/scripts/url'; -const iconUrl = (name: string) => `/static-assets/notification-badges/${name}.png`; +const iconUrl = (name: badgeNames) => `/static-assets/tabler-badges/${name}.png`; +/* How to add a new badge: + * 1. Find the icon and download png from https://tabler-icons.io/ + * 2. vips resize ~/Downloads/icon-name.png vipswork.png 0.4; vips scRGB2BW vipswork.png ~/icon-name.png"[compression=9,strip]"; rm vipswork.png; + * 3. mv ~/icon-name.png ~/misskey/packages/backend/assets/tabler-badges/ + * 4. Add 'icon-name' to badgeNames + * 5. Add `badge: iconUrl('icon-name'),` + */ export async function createNotification<K extends keyof pushNotificationDataMap>(data: pushNotificationDataMap[K]) { const n = await composeNotification(data); @@ -75,7 +82,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.youGotReply', { name: getUserName(data.body.user) }), { body: data.body.note.text || '', icon: data.body.user.avatarUrl, - badge: iconUrl('reply'), + badge: iconUrl('arrow-back-up'), data, actions: [ { @@ -89,7 +96,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.youRenoted', { name: getUserName(data.body.user) }), { body: data.body.note.text || '', icon: data.body.user.avatarUrl, - badge: iconUrl('retweet'), + badge: iconUrl('repeat'), data, actions: [ { @@ -103,7 +110,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.youGotQuote', { name: getUserName(data.body.user) }), { body: data.body.note.text || '', icon: data.body.user.avatarUrl, - badge: iconUrl('quote-right'), + badge: iconUrl('quote'), data, actions: [ { @@ -171,7 +178,8 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data case 'pollEnded': return [t('_notification.pollEnded'), { body: data.body.note.text || '', - badge: iconUrl('clipboard-check-solid'), + badge: iconUrl('chart-arrows'), + tag: `poll:${data.body.note.id}`, data, }]; @@ -179,7 +187,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.youReceivedFollowRequest'), { body: getUserName(data.body.user), icon: data.body.user.avatarUrl, - badge: iconUrl('clock'), + badge: iconUrl('user-plus'), data, actions: [ { @@ -197,14 +205,14 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.yourFollowRequestAccepted'), { body: getUserName(data.body.user), icon: data.body.user.avatarUrl, - badge: iconUrl('check'), + badge: iconUrl('circle-check'), data, }]; case 'groupInvited': return [t('_notification.youWereInvitedToGroup', { userName: getUserName(data.body.user) }), { body: data.body.invitation.group.name, - badge: iconUrl('id-card-alt'), + badge: iconUrl('users'), data, actions: [ { @@ -232,7 +240,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data if (data.body.groupId === null) { return [t('_notification.youGotMessagingMessageFromUser', { name: getUserName(data.body.user) }), { icon: data.body.user.avatarUrl, - badge: iconUrl('comments'), + badge: iconUrl('messages'), tag: `messaging:user:${data.body.userId}`, data, renotify: true, @@ -240,7 +248,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data } return [t('_notification.youGotMessagingMessageFromGroup', { name: data.body.group.name }), { icon: data.body.user.avatarUrl, - badge: iconUrl('comments'), + badge: iconUrl('messages'), tag: `messaging:group:${data.body.groupId}`, data, renotify: true, @@ -249,7 +257,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data return [t('_notification.unreadAntennaNote', { name: data.body.antenna.name }), { body: `${getUserName(data.body.note.user)}: ${data.body.note.text || ''}`, icon: data.body.note.user.avatarUrl, - badge: iconUrl('satellite'), + badge: iconUrl('antenna'), tag: `antenna:${data.body.antenna.id}`, data, renotify: true, diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts index 2e23de8e1d5c912728c1cf57ebdad7c6f9c75511..3b35de407969bcda6855912753b073f99d691dbb 100644 --- a/packages/sw/src/types.ts +++ b/packages/sw/src/types.ts @@ -36,3 +36,18 @@ export type pushNotificationData<K extends keyof pushNotificationDataSourceMap> export type pushNotificationDataMap = { [K in keyof pushNotificationDataSourceMap]: pushNotificationData<K>; }; + +export type badgeNames = + 'null' + | 'antenna' + | 'arrow-back-up' + | 'at' + | 'chart-arrows' + | 'circle-check' + | 'messages' + | 'plus' + | 'quote' + | 'repeat' + | 'user-plus' + | 'users' + ;