mirror of
https://bitbucket.org/skobkin/chrome_point_plus.git
synced 2024-11-23 18:56:04 +00:00
Notification click bugfix.
This commit is contained in:
parent
26b5da4e93
commit
dcb1dcf529
|
@ -8,6 +8,23 @@ chrome.storage.sync.get('options_version', function(data) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Adding notification click event listener
|
||||||
|
chrome.notifications.onClicked.addListener(function(notificationId) {
|
||||||
|
// Detecting notification type
|
||||||
|
if (notificationId.indexOf('comment_') === 0) {
|
||||||
|
tab_url = 'https://point.im/' + notificationId.replace(/comment_/g, '');
|
||||||
|
} else if (notificationId.indexOf('post_') === 0) {
|
||||||
|
tab_url = 'https://point.im/' + notificationId.replace(/post_/g, '');
|
||||||
|
}
|
||||||
|
console.log('Notification %s clicked! Opening new tab: %s', notificationId, tab_url);
|
||||||
|
|
||||||
|
if (tab_url !== undefined) {
|
||||||
|
chrome.tabs.create({
|
||||||
|
url: tab_url
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Crutches and bikes
|
// Crutches and bikes
|
||||||
/**
|
/**
|
||||||
* Inject several JS files
|
* Inject several JS files
|
||||||
|
@ -79,30 +96,6 @@ chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'listenNotificationClicks':
|
|
||||||
// Adding notification click event listener
|
|
||||||
chrome.notifications.onClicked.addListener(function(notificationId) {
|
|
||||||
// Detecting notification type
|
|
||||||
if (notificationId.indexOf('comment_') === 0) {
|
|
||||||
tab_url = message.protocol + '//' + 'point.im/' + notificationId.replace(/comment_/g, '');
|
|
||||||
} else if (notificationId.indexOf('post_') === 0) {
|
|
||||||
tab_url = message.protocol + '//' + 'point.im/' + notificationId.replace(/post_/g, '');
|
|
||||||
}
|
|
||||||
console.log('Notification %s clicked! Opening new tab: %s', notificationId, tab_url);
|
|
||||||
|
|
||||||
if (tab_url !== undefined) {
|
|
||||||
chrome.tabs.create({
|
|
||||||
url: tab_url
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
sendResponse(true);
|
|
||||||
|
|
||||||
// Fuck You, Chrome API documentation!
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated since 1.19.1
|
* @deprecated since 1.19.1
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -381,13 +381,6 @@ $(document).ready(function() {
|
||||||
ws = new WebSocket(((location.protocol == 'https:') ? 'wss' : 'ws') + '://point.im/ws');
|
ws = new WebSocket(((location.protocol == 'https:') ? 'wss' : 'ws') + '://point.im/ws');
|
||||||
console.log('WebSocket created: %O', ws);
|
console.log('WebSocket created: %O', ws);
|
||||||
|
|
||||||
// @todo: унести в опцию
|
|
||||||
// Adding event listener for notification click
|
|
||||||
chrome.runtime.sendMessage({
|
|
||||||
type: 'listenNotificationClicks',
|
|
||||||
protocol: getProtocol()
|
|
||||||
});
|
|
||||||
|
|
||||||
// Detecting post id if presented
|
// Detecting post id if presented
|
||||||
var postId = $('#top-post').attr('data-id');
|
var postId = $('#top-post').attr('data-id');
|
||||||
console.debug('Current post id detected as #%s', postId);
|
console.debug('Current post id detected as #%s', postId);
|
||||||
|
@ -477,7 +470,7 @@ $(document).ready(function() {
|
||||||
type: 'showNotification',
|
type: 'showNotification',
|
||||||
notificationId: 'comment_' + wsMessage.post_id + '#' + wsMessage.comment_id,
|
notificationId: 'comment_' + wsMessage.post_id + '#' + wsMessage.comment_id,
|
||||||
avatarUrl: getProtocol() + '//point.im/avatar/' + wsMessage.author + '/80',
|
avatarUrl: getProtocol() + '//point.im/avatar/' + wsMessage.author + '/80',
|
||||||
title: '@' + wsMessage.author + ' #' + wsMessage.post_id + '/' + wsMessage.comment_id + '',
|
title: '@' + wsMessage.author + ' #' + wsMessage.post_id + '/' + wsMessage.comment_id,
|
||||||
text: wsMessage.text
|
text: wsMessage.text
|
||||||
}, function(response) {});
|
}, function(response) {});
|
||||||
}
|
}
|
||||||
|
@ -494,6 +487,17 @@ $(document).ready(function() {
|
||||||
|
|
||||||
console.debug(wsMessage);
|
console.debug(wsMessage);
|
||||||
|
|
||||||
|
if (true /*options.is('option_ws_posts_notifications')*/) {
|
||||||
|
console.log('Showing desktop notification');
|
||||||
|
chrome.runtime.sendMessage({
|
||||||
|
type: 'showNotification',
|
||||||
|
notificationId: 'post_' + wsMessage.post_id,
|
||||||
|
avatarUrl: getProtocol() + '//point.im/avatar/' + wsMessage.author + '/80',
|
||||||
|
title: 'Post by @' + wsMessage.author + ' #' + wsMessage.post_id,
|
||||||
|
text: wsMessage.text
|
||||||
|
}, function(response) {});
|
||||||
|
}
|
||||||
|
|
||||||
console.groupEnd();
|
console.groupEnd();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue