Improve ServiceWorker notification
This commit is contained in:
@ -20,34 +20,6 @@ export default function(type, data): Notification {
|
||||
icon: data.url + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'mention':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんから:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'reply':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんから返信:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'quote':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんが引用:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'reaction':
|
||||
return {
|
||||
title: `${getUserName(data.user)}: ${getReactionEmoji(data.reaction)}:`,
|
||||
body: getNoteSummary(data.note),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'unread_messaging_message':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんからメッセージ:`,
|
||||
@ -62,6 +34,40 @@ export default function(type, data): Notification {
|
||||
icon: data.parent.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'notification':
|
||||
switch (data.type) {
|
||||
case 'mention':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんから:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'reply':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんから返信:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'quote':
|
||||
return {
|
||||
title: `${getUserName(data.user)}さんが引用:`,
|
||||
body: getNoteSummary(data),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
case 'reaction':
|
||||
return {
|
||||
title: `${getUserName(data.user)}: ${getReactionEmoji(data.reaction)}:`,
|
||||
body: getNoteSummary(data.note),
|
||||
icon: data.user.avatarUrl + '?thumbnail&size=64'
|
||||
};
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
@ -115,6 +115,15 @@ function registerNotifications(stream: HomeStreamManager) {
|
||||
});
|
||||
|
||||
function attach(connection) {
|
||||
connection.on('notification', notification => {
|
||||
const _n = composeNotification('notification', notification);
|
||||
const n = new Notification(_n.title, {
|
||||
body: _n.body,
|
||||
icon: _n.icon
|
||||
});
|
||||
setTimeout(n.close.bind(n), 6000);
|
||||
});
|
||||
|
||||
connection.on('drive_file_created', file => {
|
||||
const _n = composeNotification('drive_file_created', file);
|
||||
const n = new Notification(_n.title, {
|
||||
@ -124,33 +133,6 @@ function registerNotifications(stream: HomeStreamManager) {
|
||||
setTimeout(n.close.bind(n), 5000);
|
||||
});
|
||||
|
||||
connection.on('mention', note => {
|
||||
const _n = composeNotification('mention', note);
|
||||
const n = new Notification(_n.title, {
|
||||
body: _n.body,
|
||||
icon: _n.icon
|
||||
});
|
||||
setTimeout(n.close.bind(n), 6000);
|
||||
});
|
||||
|
||||
connection.on('reply', note => {
|
||||
const _n = composeNotification('reply', note);
|
||||
const n = new Notification(_n.title, {
|
||||
body: _n.body,
|
||||
icon: _n.icon
|
||||
});
|
||||
setTimeout(n.close.bind(n), 6000);
|
||||
});
|
||||
|
||||
connection.on('quote', note => {
|
||||
const _n = composeNotification('quote', note);
|
||||
const n = new Notification(_n.title, {
|
||||
body: _n.body,
|
||||
icon: _n.icon
|
||||
});
|
||||
setTimeout(n.close.bind(n), 6000);
|
||||
});
|
||||
|
||||
connection.on('unread_messaging_message', message => {
|
||||
const _n = composeNotification('unread_messaging_message', message);
|
||||
const n = new Notification(_n.title, {
|
||||
|
Reference in New Issue
Block a user