summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-09-14 19:32:54 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-09-19 08:40:44 -0300
commitb086516108a84de39f320f78468da6875be8f1f8 (patch)
tree8a841528236b9c1ac15a360db81bd6a8db6ef6d0 /gui
parentc6fa397f569bc0408d7b50c6db8d15f9f9211862 (diff)
downloadmullvadvpn-b086516108a84de39f320f78468da6875be8f1f8.tar.xz
mullvadvpn-b086516108a84de39f320f78468da6875be8f1f8.zip
Handle marker style in disconnecting state
Diffstat (limited to 'gui')
-rw-r--r--gui/packages/desktop/src/renderer/components/Connect.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/gui/packages/desktop/src/renderer/components/Connect.js b/gui/packages/desktop/src/renderer/components/Connect.js
index 0526820309..0ce31864d1 100644
--- a/gui/packages/desktop/src/renderer/components/Connect.js
+++ b/gui/packages/desktop/src/renderer/components/Connect.js
@@ -195,7 +195,7 @@ export default class Connect extends Component<Props, State> {
center: [longitude, latitude],
// do not show the marker when connecting
showMarker: state !== 'connecting',
- markerStyle: state === 'connected' || state === 'blocked' ? 'secure' : 'unsecure',
+ markerStyle: this._getMarkerStyle(),
// zoom in when connected
zoomLevel: state === 'connected' ? 'low' : 'medium',
// a magic offset to align marker with spinner
@@ -214,6 +214,31 @@ export default class Connect extends Component<Props, State> {
}
}
+ _getMarkerStyle() {
+ const { status } = this.props.connection;
+
+ switch (status.state) {
+ case 'connecting':
+ case 'connected':
+ case 'blocked':
+ return 'secure';
+ case 'disconnected':
+ return 'unsecure';
+ case 'disconnecting':
+ switch (status.details) {
+ case 'block':
+ case 'reconnect':
+ return 'secure';
+ case 'nothing':
+ return 'unsecure';
+ default:
+ throw new Error(`Invalid action after disconnection: $(status.details: empty)}`);
+ }
+ default:
+ throw new Error(`Invalid connection status: ${(status.state: empty)}`);
+ }
+ }
+
renderMap() {
let [isConnecting, isConnected, isDisconnected, isDisconnecting, isBlocked] = [
false,