diff options
| author | Oskar <oskar@mullvad.net> | 2024-10-11 17:11:54 +0200 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2024-10-22 15:18:10 +0200 |
| commit | 2deedc796ab42b8b20fa9db0e2d048ba11c2e21f (patch) | |
| tree | cf84c77cfd9d1a6f224c48ba53e10c082af9e1e4 /gui/src/renderer/lib | |
| parent | 1666ff934d648dc88f213a90dde96b1b0eca7692 (diff) | |
| download | mullvadvpn-2deedc796ab42b8b20fa9db0e2d048ba11c2e21f.tar.xz mullvadvpn-2deedc796ab42b8b20fa9db0e2d048ba11c2e21f.zip | |
Split utility-hooks into two files
Diffstat (limited to 'gui/src/renderer/lib')
| -rw-r--r-- | gui/src/renderer/lib/api-access-methods.ts | 2 | ||||
| -rw-r--r-- | gui/src/renderer/lib/constraint-updater.ts | 2 | ||||
| -rw-r--r-- | gui/src/renderer/lib/relay-settings-hooks.ts | 25 | ||||
| -rw-r--r-- | gui/src/renderer/lib/utility-hooks.ts (renamed from gui/src/renderer/lib/utilityHooks.ts) | 26 |
4 files changed, 27 insertions, 28 deletions
diff --git a/gui/src/renderer/lib/api-access-methods.ts b/gui/src/renderer/lib/api-access-methods.ts index 270d0fbf62..90d406cc3d 100644 --- a/gui/src/renderer/lib/api-access-methods.ts +++ b/gui/src/renderer/lib/api-access-methods.ts @@ -3,7 +3,7 @@ import { useCallback, useRef, useState } from 'react'; import { CustomProxy } from '../../shared/daemon-rpc-types'; import { useScheduler } from '../../shared/scheduler'; import { useAppContext } from '../context'; -import { useBoolean } from './utilityHooks'; +import { useBoolean } from './utility-hooks'; export function useApiAccessMethodTest( autoReset = true, diff --git a/gui/src/renderer/lib/constraint-updater.ts b/gui/src/renderer/lib/constraint-updater.ts index 73fbdd1336..6ea021ece9 100644 --- a/gui/src/renderer/lib/constraint-updater.ts +++ b/gui/src/renderer/lib/constraint-updater.ts @@ -16,7 +16,7 @@ import { NormalRelaySettingsRedux, } from '../redux/settings/reducers'; import { useSelector } from '../redux/store'; -import { useNormalRelaySettings } from './utilityHooks'; +import { useNormalRelaySettings } from './relay-settings-hooks'; export function wrapRelaySettingsOrDefault( relaySettings?: NormalRelaySettingsRedux, diff --git a/gui/src/renderer/lib/relay-settings-hooks.ts b/gui/src/renderer/lib/relay-settings-hooks.ts new file mode 100644 index 0000000000..14fe99849d --- /dev/null +++ b/gui/src/renderer/lib/relay-settings-hooks.ts @@ -0,0 +1,25 @@ +import { LiftedConstraint, TunnelProtocol } from '../../shared/daemon-rpc-types'; +import { useSelector } from '../redux/store'; + +export function useNormalRelaySettings() { + const relaySettings = useSelector((state) => state.settings.relaySettings); + return 'normal' in relaySettings ? relaySettings.normal : undefined; +} + +// Some features are considered core privacy features and when enabled prevent OpenVPN from being +// used. This hook returns the tunnelprotocol with the exception that it always returns WireGuard +// when any of those features are enabled. +export function useTunnelProtocol(): LiftedConstraint<TunnelProtocol> { + const relaySettings = useNormalRelaySettings(); + const multihop = relaySettings?.wireguard.useMultihop ?? false; + const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false); + const quantumResistant = useSelector((state) => state.settings.wireguard.quantumResistant); + const openVpnDisabled = daita || multihop || quantumResistant; + + return openVpnDisabled ? 'wireguard' : (relaySettings?.tunnelProtocol ?? 'any'); +} + +export function useNormalBridgeSettings() { + const bridgeSettings = useSelector((state) => state.settings.bridgeSettings); + return bridgeSettings.normal; +} diff --git a/gui/src/renderer/lib/utilityHooks.ts b/gui/src/renderer/lib/utility-hooks.ts index 865e078b9e..1efc49c804 100644 --- a/gui/src/renderer/lib/utilityHooks.ts +++ b/gui/src/renderer/lib/utility-hooks.ts @@ -1,8 +1,5 @@ import React, { useCallback, useEffect, useInsertionEffect, useRef, useState } from 'react'; -import { LiftedConstraint, TunnelProtocol } from '../../shared/daemon-rpc-types'; -import { useSelector } from '../redux/store'; - export function useMounted() { const mountedRef = useRef(false); const isMounted = useCallback(() => mountedRef.current, []); @@ -43,29 +40,6 @@ export function useBoolean(initialValue = false) { return [value, setTrue, setFalse, toggle] as const; } -export function useNormalRelaySettings() { - const relaySettings = useSelector((state) => state.settings.relaySettings); - return 'normal' in relaySettings ? relaySettings.normal : undefined; -} - -// Some features are considered core privacy features and when enabled prevent OpenVPN from being -// used. This hook returns the tunnelprotocol with the exception that it always returns WireGuard -// when any of those features are enabled. -export function useTunnelProtocol(): LiftedConstraint<TunnelProtocol> { - const relaySettings = useNormalRelaySettings(); - const multihop = relaySettings?.wireguard.useMultihop ?? false; - const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false); - const quantumResistant = useSelector((state) => state.settings.wireguard.quantumResistant); - const openVpnDisabled = daita || multihop || quantumResistant; - - return openVpnDisabled ? 'wireguard' : (relaySettings?.tunnelProtocol ?? 'any'); -} - -export function useNormalBridgeSettings() { - const bridgeSettings = useSelector((state) => state.settings.bridgeSettings); - return bridgeSettings.normal; -} - // This hook returns a function that can be used to force a rerender of a component, and // additionally also returns a variable that can be used to trigger effects as a result. This is a // hack and should be avoided unless there are no better ways. |
