diff options
Diffstat (limited to 'gui/src/renderer')
| -rw-r--r-- | gui/src/renderer/app.tsx | 1 | ||||
| -rw-r--r-- | gui/src/renderer/redux/settings/actions.ts | 23 | ||||
| -rw-r--r-- | gui/src/renderer/redux/settings/reducers.ts | 14 |
3 files changed, 36 insertions, 2 deletions
diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx index d7d5b8bf29..c24874b9a6 100644 --- a/gui/src/renderer/app.tsx +++ b/gui/src/renderer/app.tsx @@ -611,6 +611,7 @@ export default class AppRenderer { reduxSettings.updateOpenVpnMssfix(newSettings.tunnelOptions.openvpn.mssfix); reduxSettings.updateWireguardMtu(newSettings.tunnelOptions.wireguard.mtu); reduxSettings.updateBridgeState(newSettings.bridgeState); + reduxSettings.updateDnsOptions(newSettings.tunnelOptions.dns); this.setRelaySettings(newSettings.relaySettings); this.setBridgeSettings(newSettings.bridgeSettings); diff --git a/gui/src/renderer/redux/settings/actions.ts b/gui/src/renderer/redux/settings/actions.ts index d1f564bccd..6428badde8 100644 --- a/gui/src/renderer/redux/settings/actions.ts +++ b/gui/src/renderer/redux/settings/actions.ts @@ -1,4 +1,9 @@ -import { BridgeState, IWireguardPublicKey, KeygenEvent } from '../../../shared/daemon-rpc-types'; +import { + BridgeState, + IDnsOptions, + IWireguardPublicKey, + KeygenEvent, +} from '../../../shared/daemon-rpc-types'; import { IGuiSettingsState } from '../../../shared/gui-settings-state'; import { BridgeSettingsRedux, IRelayLocationRedux, IWgKey, RelaySettingsRedux } from './reducers'; @@ -97,6 +102,11 @@ export interface IWireguardKeyVerifiedAction { verified?: boolean; } +export interface IUpdateDnsOptionsAction { + type: 'UPDATE_DNS_OPTIONS'; + dns: IDnsOptions; +} + export type SettingsAction = | IUpdateGuiSettingsAction | IUpdateRelayAction @@ -116,7 +126,8 @@ export type SettingsAction = | IWireguardGenerateKey | IWireguardReplaceKey | IWireguardKeygenEvent - | IWireguardKeyVerifiedAction; + | IWireguardKeyVerifiedAction + | IUpdateDnsOptionsAction; function updateGuiSettings(guiSettings: IGuiSettingsState): IUpdateGuiSettingsAction { return { @@ -261,6 +272,13 @@ function completeWireguardKeyVerification(verified?: boolean): IWireguardKeyVeri }; } +function updateDnsOptions(dns: IDnsOptions): IUpdateDnsOptionsAction { + return { + type: 'UPDATE_DNS_OPTIONS', + dns, + }; +} + export default { updateGuiSettings, updateRelay, @@ -281,4 +299,5 @@ export default { replaceWireguardKey, verifyWireguardKey, completeWireguardKeyVerification, + updateDnsOptions, }; diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts index 6f24e871b6..980eea6cd5 100644 --- a/gui/src/renderer/redux/settings/reducers.ts +++ b/gui/src/renderer/redux/settings/reducers.ts @@ -133,6 +133,10 @@ export interface ISettingsReduxState { wireguard: { mtu?: number; }; + dns: { + custom: boolean; + addresses: string[]; + }; wireguardKeyState: WgKeyState; } @@ -173,6 +177,10 @@ const initialState: ISettingsReduxState = { wireguardKeyState: { type: 'key-not-set', }, + dns: { + custom: false, + addresses: [], + }, }; export default function ( @@ -300,6 +308,12 @@ export default function ( }, }; + case 'UPDATE_DNS_OPTIONS': + return { + ...state, + dns: action.dns, + }; + default: return state; } |
