summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-12-03 13:49:44 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-12-07 09:00:32 +0100
commit88390aa5ece84d59a1266c4b99745ace0646aade (patch)
treec0a88d078bf097cc29d7e4f5770d2153686a3aaa
parent2b986b0ec24acdc5b90e0f09f7dcc68876e5a2f1 (diff)
downloadmullvadvpn-88390aa5ece84d59a1266c4b99745ace0646aade.tar.xz
mullvadvpn-88390aa5ece84d59a1266c4b99745ace0646aade.zip
Use switch confirmation for block-when-disconnected
-rw-r--r--gui/src/renderer/components/AdvancedSettings.tsx9
1 files changed, 6 insertions, 3 deletions
diff --git a/gui/src/renderer/components/AdvancedSettings.tsx b/gui/src/renderer/components/AdvancedSettings.tsx
index 3f3440242d..42f48b1b87 100644
--- a/gui/src/renderer/components/AdvancedSettings.tsx
+++ b/gui/src/renderer/components/AdvancedSettings.tsx
@@ -25,6 +25,7 @@ import {
} from './NavigationBar';
import { ISelectorItem } from './cell/Selector';
import SettingsHeader, { HeaderTitle } from './SettingsHeader';
+import Switch from './Switch';
type OptionalTunnelProtocol = TunnelProtocol | undefined;
@@ -51,6 +52,8 @@ export default class AdvancedSettings extends React.Component<IProps, IState> {
showConfirmBlockWhenDisconnectedAlert: false,
};
+ private blockWhenDisconnectedRef = React.createRef<Switch>();
+
public render() {
const hasWireguardKey = this.props.wireguardKeyState.type === 'key-set';
@@ -118,6 +121,7 @@ export default class AdvancedSettings extends React.Component<IProps, IState> {
</AriaLabel>
<AriaInput>
<Cell.Switch
+ ref={this.blockWhenDisconnectedRef}
isOn={this.props.blockWhenDisconnected}
onChange={this.setBlockWhenDisconnected}
/>
@@ -257,7 +261,6 @@ export default class AdvancedSettings extends React.Component<IProps, IState> {
private setBlockWhenDisconnected = (newValue: boolean) => {
if (newValue) {
- this.props.setBlockWhenDisconnected(true);
this.setState({ showConfirmBlockWhenDisconnectedAlert: true });
} else {
this.props.setBlockWhenDisconnected(false);
@@ -265,13 +268,13 @@ export default class AdvancedSettings extends React.Component<IProps, IState> {
};
private hideConfirmBlockWhenDisconnectedAlert = () => {
- this.props.setBlockWhenDisconnected(false);
this.setState({ showConfirmBlockWhenDisconnectedAlert: false });
+ this.blockWhenDisconnectedRef.current?.setOn(this.props.blockWhenDisconnected);
};
private confirmEnableBlockWhenDisconnected = () => {
- this.props.setBlockWhenDisconnected(true);
this.setState({ showConfirmBlockWhenDisconnectedAlert: false });
+ this.props.setBlockWhenDisconnected(true);
};
private onSelectTunnelProtocol = (protocol?: TunnelProtocol) => {