summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-02-06 15:43:16 +0100
committerOskar Nyberg <oskar@mullvad.net>2020-02-06 15:45:39 +0100
commit17bf4b6afdaff028ffc8b11d16a8e4b0e50a1a16 (patch)
tree2c50a37f4de3b574e40acab9342dcbaee7d6d983 /gui/src
parent8c7bc4426f7f97975356cbfa71d4014fae00c859 (diff)
downloadmullvadvpn-17bf4b6afdaff028ffc8b11d16a8e4b0e50a1a16.tar.xz
mullvadvpn-17bf4b6afdaff028ffc8b11d16a8e4b0e50a1a16.zip
Add button which tells the daemon to reconnect
Diffstat (limited to 'gui/src')
-rw-r--r--gui/src/renderer/components/TunnelControl.tsx36
1 files changed, 31 insertions, 5 deletions
diff --git a/gui/src/renderer/components/TunnelControl.tsx b/gui/src/renderer/components/TunnelControl.tsx
index aa7c762d17..5fbfaebc86 100644
--- a/gui/src/renderer/components/TunnelControl.tsx
+++ b/gui/src/renderer/components/TunnelControl.tsx
@@ -5,6 +5,7 @@ import { TunnelState } from '../../shared/daemon-rpc-types';
import { messages } from '../../shared/gettext';
import ConnectionPanelContainer from '../containers/ConnectionPanelContainer';
import * as AppButton from './AppButton';
+import ImageView from './ImageView';
import SecuredLabel, { SecuredDisplayStyle } from './SecuredLabel';
interface ITunnelControlProps {
@@ -59,6 +60,16 @@ const styles = {
letterSpacing: -0.9,
color: colors.white,
}),
+ button_row: Styles.createViewStyle({
+ flexDirection: 'row',
+ }),
+ large_button: Styles.createViewStyle({
+ flex: 1,
+ }),
+ reconnect_button: Styles.createViewStyle({
+ marginLeft: 16,
+ paddingHorizontal: 12,
+ }),
};
export default class TunnelControl extends Component<ITunnelControlProps> {
@@ -95,17 +106,23 @@ export default class TunnelControl extends Component<ITunnelControlProps> {
);
const Disconnect = () => (
- <AppButton.RedTransparentButton onPress={this.props.onDisconnect}>
+ <AppButton.RedTransparentButton onPress={this.props.onDisconnect} style={styles.large_button}>
{messages.pgettext('tunnel-control', 'Disconnect')}
</AppButton.RedTransparentButton>
);
const Cancel = () => (
- <AppButton.RedTransparentButton onPress={this.props.onDisconnect}>
+ <AppButton.RedTransparentButton onPress={this.props.onDisconnect} style={styles.large_button}>
{messages.pgettext('tunnel-control', 'Cancel')}
</AppButton.RedTransparentButton>
);
+ const Reconnect = () => (
+ <AppButton.TransparentButton onPress={this.props.onReconnect} style={styles.reconnect_button}>
+ <ImageView height={22} width={22} source="icon-reload" tintColor="white" />
+ </AppButton.TransparentButton>
+ );
+
const Secured = ({ displayStyle }: { displayStyle: SecuredDisplayStyle }) => (
<SecuredLabel style={styles.status_security} displayStyle={displayStyle} />
);
@@ -149,7 +166,10 @@ export default class TunnelControl extends Component<ITunnelControlProps> {
</Body>
<Footer>
<SwitchLocation />
- <Cancel />
+ <View style={styles.button_row}>
+ <Cancel />
+ <Reconnect />
+ </View>
</Footer>
</Wrapper>
);
@@ -166,7 +186,10 @@ export default class TunnelControl extends Component<ITunnelControlProps> {
</Body>
<Footer>
<SwitchLocation />
- <Disconnect />
+ <View style={styles.button_row}>
+ <Disconnect />
+ <Reconnect />
+ </View>
</Footer>
</Wrapper>
);
@@ -179,7 +202,10 @@ export default class TunnelControl extends Component<ITunnelControlProps> {
</Body>
<Footer>
<SwitchLocation />
- <Cancel />
+ <View style={styles.button_row}>
+ <Cancel />
+ <Reconnect />
+ </View>
</Footer>
</Wrapper>
);