Skip to content
This repository was archived by the owner on Feb 9, 2021. It is now read-only.

Commit 4642898

Browse files
feat(browser-action): Browser action opens github page first time, then hovercards.com from then on
Closes #170
1 parent 7f204e8 commit 4642898

3 files changed

Lines changed: 57 additions & 3 deletions

File tree

extension/browser-action.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
var _ = require('underscore');
2+
var browser = require('./browser');
3+
var report = require('../report');
4+
5+
var url = 'http://hovercards.com';
6+
7+
browser.browserAction.setBadgeBackgroundColor({ color: '#ff0000' });
8+
browser.browserAction.onClicked.addListener(function() {
9+
browser.tabs.create({ url: url });
10+
browser.storage.sync.set({ 'notifications.opensource': true })
11+
.catch(report.captureException);
12+
});
13+
14+
browser.storage.onChanged.addListener(function(changes, areaName) {
15+
if (areaName !== 'sync') {
16+
return;
17+
}
18+
_.pairs(changes).forEach(function(entry) {
19+
if (entry[0] !== 'notifications.opensource') {
20+
return;
21+
}
22+
if (entry[1].newValue) {
23+
url = 'http://hovercards.com';
24+
browser.browserAction.setBadgeText({ text: '' });
25+
browser.browserAction.setTitle({ title: 'HoverCards' });
26+
} else {
27+
url = 'https://github.com/kogg/hovercards#readme';
28+
browser.browserAction.setBadgeText({ text: '1' });
29+
browser.browserAction.setTitle({ title: 'HoverCards is open source!' });
30+
}
31+
});
32+
});
33+
34+
browser.storage.sync.get('notifications.opensource')
35+
.then(function(items) {
36+
if (items['notifications.opensource']) {
37+
url = 'http://hovercards.com';
38+
browser.browserAction.setBadgeText({ text: '' });
39+
browser.browserAction.setTitle({ title: 'HoverCards' });
40+
} else {
41+
url = 'https://github.com/kogg/hovercards#readme';
42+
browser.browserAction.setBadgeText({ text: '1' });
43+
browser.browserAction.setTitle({ title: 'HoverCards is open source!' });
44+
}
45+
})
46+
.catch(report.captureException);

extension/index.background.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require('../report');
22
var createStore = require('../redux/createStore.background');
33

4+
require('./browser-action');
45
require('./content-security-policy');
56
require('./set-uninstall-url');
67

extension/manifest.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,18 @@
77

88
"minimum_chrome_version": "45",
99
"icons": {
10-
"16": "assets/images/logo-16.png",
11-
"19": "assets/images/logo-19.png",
12-
"38": "assets/images/logo-38.png",
10+
"16": "assets/images/logo-16-active.png",
11+
"19": "assets/images/logo-19-active.png",
12+
"38": "assets/images/logo-38-active.png",
1313
"128": "assets/images/logo-128.png"
1414
},
15+
"browser_action": {
16+
"default_icon": {
17+
"19": "assets/images/logo-19-active.png",
18+
"38": "assets/images/logo-38-active.png"
19+
},
20+
"default_title": "HoverCards"
21+
},
1522

1623
"background": {
1724
"scripts": [

0 commit comments

Comments
 (0)