summaryrefslogtreecommitdiff
path: root/src/misc/get-notification-summary.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-02 04:15:27 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-02 04:15:27 +0900
commitcd2542e0fd8578f6e41114ffebbda1f16f7d04ce (patch)
treec339b7808fc2a3d72ae30cb86ddb7b9c21852652 /src/misc/get-notification-summary.ts
parentRefactor (diff)
downloadsharkey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.tar.gz
sharkey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.tar.bz2
sharkey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.zip
Refactor
Diffstat (limited to 'src/misc/get-notification-summary.ts')
-rw-r--r--src/misc/get-notification-summary.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/misc/get-notification-summary.ts b/src/misc/get-notification-summary.ts
new file mode 100644
index 0000000000..03db722c84
--- /dev/null
+++ b/src/misc/get-notification-summary.ts
@@ -0,0 +1,27 @@
+import getPostSummary from './get-post-summary';
+import getReactionEmoji from './get-reaction-emoji';
+
+/**
+ * 通知を表す文字列を取得します。
+ * @param notification 通知
+ */
+export default function(notification: any): string {
+ switch (notification.type) {
+ case 'follow':
+ return `${notification.user.name}にフォローされました`;
+ case 'mention':
+ return `言及されました:\n${notification.user.name}「${getPostSummary(notification.post)}」`;
+ case 'reply':
+ return `返信されました:\n${notification.user.name}「${getPostSummary(notification.post)}」`;
+ case 'repost':
+ return `Repostされました:\n${notification.user.name}「${getPostSummary(notification.post)}」`;
+ case 'quote':
+ return `引用されました:\n${notification.user.name}「${getPostSummary(notification.post)}」`;
+ case 'reaction':
+ return `リアクションされました:\n${notification.user.name} <${getReactionEmoji(notification.reaction)}>「${getPostSummary(notification.post)}」`;
+ case 'poll_vote':
+ return `投票されました:\n${notification.user.name}「${getPostSummary(notification.post)}」`;
+ default:
+ return `<不明な通知タイプ: ${notification.type}>`;
+ }
+}