summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-01-27 14:48:22 +0100
committerOskar Nyberg <oskar@mullvad.net>2020-01-28 12:36:26 +0100
commite387342a85590dfb8ff16b400a910ffeac3299bb (patch)
treebaba78409af025ef91cf17280762c4a7982717ac /gui
parentebcc8180c6798759d1f2d1c6c09c90f410b86773 (diff)
downloadmullvadvpn-e387342a85590dfb8ff16b400a910ffeac3299bb.tar.xz
mullvadvpn-e387342a85590dfb8ff16b400a910ffeac3299bb.zip
Add error message when there's no wireguard key
Diffstat (limited to 'gui')
-rw-r--r--gui/src/renderer/components/AdvancedSettings.tsx24
-rw-r--r--gui/src/renderer/components/AdvancedSettingsStyles.tsx14
2 files changed, 34 insertions, 4 deletions
diff --git a/gui/src/renderer/components/AdvancedSettings.tsx b/gui/src/renderer/components/AdvancedSettings.tsx
index 4778aac916..10757e4d8d 100644
--- a/gui/src/renderer/components/AdvancedSettings.tsx
+++ b/gui/src/renderer/components/AdvancedSettings.tsx
@@ -1,5 +1,5 @@
import * as React from 'react';
-import { Component, View } from 'reactxp';
+import { Component, Text, View } from 'reactxp';
import { sprintf } from 'sprintf-js';
import { BridgeState, RelayProtocol, TunnelProtocol } from '../../shared/daemon-rpc-types';
import { messages } from '../../shared/gettext';
@@ -213,13 +213,26 @@ export default class AdvancedSettings extends Component<IProps, IState> {
)}
</Cell.Footer>
- <View style={styles.advanced_settings__content}>
+ <View
+ style={[
+ styles.advanced_settings__content,
+ styles.advanced_settings__tunnel_protocol,
+ ]}>
<Selector
title={messages.pgettext('advanced-settings-view', 'Tunnel protocol')}
values={this.tunnelProtocolItems(hasWireguardKey)}
value={this.props.tunnelProtocol}
onSelect={this.onSelectTunnelProtocol}
+ style={styles.advanced_settings__tunnel_protocol_selector}
/>
+ {!hasWireguardKey && (
+ <Text style={styles.advanced_settings__wg_no_key}>
+ {messages.pgettext(
+ 'advanced-settings-view',
+ 'To enable WireGuard, generate a key under the "WireGuard key" setting below.',
+ )}
+ </Text>
+ )}
</View>
{this.props.tunnelProtocol !== 'wireguard' ? (
@@ -349,7 +362,12 @@ export default class AdvancedSettings extends Component<IProps, IState> {
value: 'openvpn',
},
{
- label: messages.pgettext('advanced-settings-view', 'WireGuard'),
+ label: hasWireguardKey
+ ? messages.pgettext('advanced-settings-view', 'WireGuard')
+ : sprintf('%(label)s (%(error)s)', {
+ label: messages.pgettext('advanced-settings-view', 'WireGuard'),
+ error: messages.pgettext('advanced-settings-view-wireguard', 'missing key'),
+ }),
value: 'wireguard',
disabled: !hasWireguardKey,
},
diff --git a/gui/src/renderer/components/AdvancedSettingsStyles.tsx b/gui/src/renderer/components/AdvancedSettingsStyles.tsx
index 53ad5c1829..acdc9e5d8e 100644
--- a/gui/src/renderer/components/AdvancedSettingsStyles.tsx
+++ b/gui/src/renderer/components/AdvancedSettingsStyles.tsx
@@ -16,12 +16,24 @@ export default {
advanced_settings__content: Styles.createViewStyle({
flex: 0,
}),
- advanced_settings__selector_section: Styles.createViewStyle({
+ advanced_settings__tunnel_protocol: Styles.createViewStyle({
marginBottom: 24,
}),
+ advanced_settings__tunnel_protocol_selector: Styles.createViewStyle({
+ marginBottom: 0,
+ }),
advanced_settings__wgkeys_cell: Styles.createViewStyle({
marginBottom: 24,
}),
+ advanced_settings__wg_no_key: Styles.createTextStyle({
+ fontFamily: 'Open Sans',
+ fontSize: 13,
+ fontWeight: '800',
+ lineHeight: 20,
+ color: colors.red,
+ marginTop: 12,
+ paddingHorizontal: 24,
+ }),
advanced_settings__cell_hover: Styles.createButtonStyle({
backgroundColor: colors.blue80,
}),