summaryrefslogtreecommitdiff
path: root/src/client/scripts/compose-notification.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-01-30 04:37:25 +0900
committerGitHub <noreply@github.com>2020-01-30 04:37:25 +0900
commitf6154dc0af1a0d65819e87240f4385f9573095cb (patch)
tree699a5ca07d6727b7f8497d4769f25d6d62f94b5a /src/client/scripts/compose-notification.ts
parentAdd Event activity-type support (#5785) (diff)
downloadsharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.gz
sharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.tar.bz2
sharkey-f6154dc0af1a0d65819e87240f4385f9573095cb.zip
v12 (#5712)
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com> Co-authored-by: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com>
Diffstat (limited to 'src/client/scripts/compose-notification.ts')
-rw-r--r--src/client/scripts/compose-notification.ts59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/client/scripts/compose-notification.ts b/src/client/scripts/compose-notification.ts
new file mode 100644
index 0000000000..bf32552506
--- /dev/null
+++ b/src/client/scripts/compose-notification.ts
@@ -0,0 +1,59 @@
+import getNoteSummary from '../../misc/get-note-summary';
+import getUserName from '../../misc/get-user-name';
+
+type Notification = {
+ title: string;
+ body: string;
+ icon: string;
+ onclick?: any;
+};
+
+// TODO: i18n
+
+export default function(type, data): Notification {
+ switch (type) {
+ case 'driveFileCreated':
+ return {
+ title: 'File uploaded',
+ body: data.name,
+ icon: data.url
+ };
+
+ case 'notification':
+ switch (data.type) {
+ case 'mention':
+ return {
+ title: `${getUserName(data.user)}:`,
+ body: getNoteSummary(data),
+ icon: data.user.avatarUrl
+ };
+
+ case 'reply':
+ return {
+ title: `You got reply from ${getUserName(data.user)}:`,
+ body: getNoteSummary(data),
+ icon: data.user.avatarUrl
+ };
+
+ case 'quote':
+ return {
+ title: `${getUserName(data.user)}:`,
+ body: getNoteSummary(data),
+ icon: data.user.avatarUrl
+ };
+
+ case 'reaction':
+ return {
+ title: `${getUserName(data.user)}: ${data.reaction}:`,
+ body: getNoteSummary(data.note),
+ icon: data.user.avatarUrl
+ };
+
+ default:
+ return null;
+ }
+
+ default:
+ return null;
+ }
+}