summaryrefslogtreecommitdiffhomepage
path: root/app/app.js
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@codeispoetry.ru>2017-02-22 19:20:52 +0000
committerAndrej Mihajlov <and@codeispoetry.ru>2017-02-22 19:20:52 +0000
commit5cbfddab9874c163f7ea697d45eeccb8116ce161 (patch)
tree09097270e9956b6aca2642d9d8b7e82d27831c5a /app/app.js
parentb357e668d82d9f002d8145c394b72bc593db3582 (diff)
downloadmullvadvpn-5cbfddab9874c163f7ea697d45eeccb8116ce161.tar.xz
mullvadvpn-5cbfddab9874c163f7ea697d45eeccb8116ce161.zip
- Switch tray icon when connected
- Fix ESLint issues
Diffstat (limited to 'app/app.js')
-rw-r--r--app/app.js24
1 files changed, 22 insertions, 2 deletions
diff --git a/app/app.js b/app/app.js
index 0e3b2c37eb..01d4146690 100644
--- a/app/app.js
+++ b/app/app.js
@@ -3,7 +3,7 @@ import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { Router, hashHistory } from 'react-router';
import { syncHistoryWithStore, replace } from 'react-router-redux';
-import { webFrame } from 'electron';
+import { webFrame, ipcRenderer } from 'electron';
import routes from './routes';
import configureStore from './store';
import userActions from './actions/user';
@@ -30,6 +30,22 @@ const rootElement = document.querySelector(document.currentScript.getAttribute('
// disable smart pinch.
webFrame.setVisualZoomLevelLimits(1, 1);
+// Tray icon
+const updateTrayIcon = () => {
+ const s = store.getState().connect.status;
+ let iconName;
+
+ if(s === ConnectionState.connected) {
+ iconName = 'connected';
+ } else {
+ iconName = 'default';
+ }
+
+ ipcRenderer.send('changeTrayIcon', iconName);
+};
+
+updateTrayIcon();
+
// Create backend
const backend = new Backend();
@@ -37,7 +53,7 @@ const backend = new Backend();
backend.on(Backend.EventType.updatedIp, (clientIp) => {
store.dispatch(connectActions.connectionChange({ clientIp }));
-})
+});
backend.on(Backend.EventType.connecting, (serverAddress) => {
store.dispatch(connectActions.connectionChange({
@@ -50,6 +66,8 @@ backend.on(Backend.EventType.connecting, (serverAddress) => {
backend.on(Backend.EventType.connect, (serverAddress, error) => {
const status = error ? ConnectionState.disconnected : ConnectionState.connected;
store.dispatch(connectActions.connectionChange({ error, status }));
+
+ updateTrayIcon();
});
backend.on(Backend.EventType.disconnect, () => {
@@ -58,6 +76,8 @@ backend.on(Backend.EventType.disconnect, () => {
serverAddress: null,
error: null
}));
+
+ updateTrayIcon();
});
backend.on(Backend.EventType.logging, (account) => {