summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/containers
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-07-19 15:44:56 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-07-25 11:40:06 +0200
commita46df6ba2f6f3fedd79dab4980c7fc883f79536d (patch)
tree86e3405f6e0965f9f4afa9eb63c8776732fdd7ce /gui/src/renderer/containers
parent9fa4063cfba1bd9bf44ad54bce650284522d6ebb (diff)
downloadmullvadvpn-a46df6ba2f6f3fedd79dab4980c7fc883f79536d.tar.xz
mullvadvpn-a46df6ba2f6f3fedd79dab4980c7fc883f79536d.zip
Refactore WireguardSettings view
Diffstat (limited to 'gui/src/renderer/containers')
-rw-r--r--gui/src/renderer/containers/WireguardSettingsPage.tsx115
1 files changed, 0 insertions, 115 deletions
diff --git a/gui/src/renderer/containers/WireguardSettingsPage.tsx b/gui/src/renderer/containers/WireguardSettingsPage.tsx
deleted file mode 100644
index 6217c723d2..0000000000
--- a/gui/src/renderer/containers/WireguardSettingsPage.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import { connect } from 'react-redux';
-
-import { IpVersion } from '../../shared/daemon-rpc-types';
-import log from '../../shared/logging';
-import WireguardSettings from '../components/WireguardSettings';
-import withAppContext, { IAppContext } from '../context';
-import { createWireguardRelayUpdater } from '../lib/constraint-updater';
-import { IHistoryProps, withHistory } from '../lib/history';
-import { RelaySettingsRedux } from '../redux/settings/reducers';
-import { IReduxState, ReduxDispatch } from '../redux/store';
-
-const mapStateToProps = (state: IReduxState, props: IAppContext) => {
- const protocolAndPort = mapRelaySettingsToProtocolAndPort(state.settings.relaySettings);
-
- let wireguardMultihop = false;
- if ('normal' in state.settings.relaySettings) {
- wireguardMultihop = state.settings.relaySettings.normal.wireguard.useMultihop;
- }
-
- return {
- wireguardMtu: state.settings.wireguard.mtu,
- wireguardMultihop,
- ...protocolAndPort,
-
- setWireguardPort: async (port?: number) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => {
- if (port) {
- wireguard.port.exact(port);
- } else {
- wireguard.port.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setWireguardIpVersion: async (ipVersion?: IpVersion) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => {
- if (ipVersion) {
- wireguard.ipVersion.exact(ipVersion);
- } else {
- wireguard.ipVersion.any();
- }
- })
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update relay settings', error.message);
- }
- },
-
- setWireguardMultihop: async (enabled: boolean) => {
- const relayUpdate = createWireguardRelayUpdater(state.settings.relaySettings)
- .tunnel.wireguard((wireguard) => wireguard.useMultihop(enabled))
- .build();
- try {
- await props.app.updateRelaySettings(relayUpdate);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update WireGuard multihop settings', error.message);
- }
- },
- };
-};
-
-const mapRelaySettingsToProtocolAndPort = (relaySettings: RelaySettingsRedux) => {
- if ('normal' in relaySettings) {
- const port = relaySettings.normal.wireguard.port;
- const ipVersion = relaySettings.normal.wireguard.ipVersion;
- return {
- wireguard: {
- port: port === 'any' ? undefined : port,
- ipVersion: ipVersion === 'any' ? undefined : ipVersion,
- },
- };
- // since the GUI doesn't display custom settings, just display the default ones.
- // If the user sets any settings, then those will be applied.
- } else if ('customTunnelEndpoint' in relaySettings) {
- return {
- wireguard: { port: undefined },
- };
- } else {
- throw new Error('Unknown type of relay settings.');
- }
-};
-
-const mapDispatchToProps = (_dispatch: ReduxDispatch, props: IHistoryProps & IAppContext) => {
- return {
- onClose: () => {
- props.history.pop();
- },
-
- setWireguardMtu: async (mtu?: number) => {
- try {
- await props.app.setWireguardMtu(mtu);
- } catch (e) {
- const error = e as Error;
- log.error('Failed to update mtu value', error.message);
- }
- },
- };
-};
-
-export default withAppContext(
- withHistory(connect(mapStateToProps, mapDispatchToProps)(WireguardSettings)),
-);