Sharkey/src/misc/get-notification-summary.ts

29 lines
1.3 KiB
TypeScript
Raw Normal View History

2018-07-07 13:19:00 +03:00
import getUserName from './get-user-name';
2018-04-07 20:30:37 +03:00
import getNoteSummary from './get-note-summary';
2017-11-10 17:27:02 +02:00
import getReactionEmoji from './get-reaction-emoji';
/**
*
* @param notification
*/
2017-11-10 18:00:14 +02:00
export default function(notification: any): string {
2017-11-10 17:27:02 +02:00
switch (notification.type) {
case 'follow':
2018-04-05 19:36:34 +03:00
return `${getUserName(notification.user)}にフォローされました`;
2017-11-10 17:27:02 +02:00
case 'mention':
2018-04-07 20:30:37 +03:00
return `言及されました:\n${getUserName(notification.user)}${getNoteSummary(notification.note)}`;
2017-11-10 17:27:02 +02:00
case 'reply':
2018-04-07 20:30:37 +03:00
return `返信されました:\n${getUserName(notification.user)}${getNoteSummary(notification.note)}`;
case 'renote':
return `Renoteされました:\n${getUserName(notification.user)}${getNoteSummary(notification.note)}`;
2017-11-10 17:27:02 +02:00
case 'quote':
2018-04-07 20:30:37 +03:00
return `引用されました:\n${getUserName(notification.user)}${getNoteSummary(notification.note)}`;
2017-11-10 17:27:02 +02:00
case 'reaction':
2018-04-07 20:30:37 +03:00
return `リアクションされました:\n${getUserName(notification.user)} <${getReactionEmoji(notification.reaction)}>「${getNoteSummary(notification.note)}`;
2017-11-10 17:27:02 +02:00
case 'poll_vote':
2018-04-07 20:30:37 +03:00
return `投票されました:\n${getUserName(notification.user)}${getNoteSummary(notification.note)}`;
2017-11-10 17:27:02 +02:00
default:
return `<不明な通知タイプ: ${notification.type}>`;
}
}