diff options
| author | Oskar <oskar@mullvad.net> | 2024-09-23 17:58:40 +0200 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2024-09-30 09:20:20 +0200 |
| commit | 52153bfa2cfb9bd902ab09822f29902e687d0d5c (patch) | |
| tree | 66c3f3cba2a1a814b95ae0a9eaadca725906aa7a /gui/src | |
| parent | 591133981646ae720813a762e42cda4d8ee1411e (diff) | |
| download | mullvadvpn-52153bfa2cfb9bd902ab09822f29902e687d0d5c.tar.xz mullvadvpn-52153bfa2cfb9bd902ab09822f29902e687d0d5c.zip | |
Move DAITA to top level settings
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/renderer/components/DaitaSettings.tsx | 22 | ||||
| -rw-r--r-- | gui/src/renderer/components/Settings.tsx | 19 | ||||
| -rw-r--r-- | gui/src/renderer/components/WireguardSettings.tsx | 17 | ||||
| -rw-r--r-- | gui/src/renderer/lib/routes.ts | 2 |
4 files changed, 41 insertions, 19 deletions
diff --git a/gui/src/renderer/components/DaitaSettings.tsx b/gui/src/renderer/components/DaitaSettings.tsx index 3176192ad1..31d9a747e7 100644 --- a/gui/src/renderer/components/DaitaSettings.tsx +++ b/gui/src/renderer/components/DaitaSettings.tsx @@ -119,6 +119,13 @@ function DaitaToggle() { <Cell.Switch isOn={daita} onChange={setDaita} /> </AriaInput> </Cell.Container> + {unavailable ? ( + <Cell.CellFooter> + <AriaDescription> + <Cell.CellFooterText>{featureUnavailableMessage()}</Cell.CellFooterText> + </AriaDescription> + </Cell.CellFooter> + ) : null} </AriaInputGroup> <AriaInputGroup> <Cell.Container disabled={!daita}> @@ -138,7 +145,7 @@ function DaitaToggle() { {sprintf( messages.pgettext( 'vpn-settings-view', - 'Is automatically enabled with %(daita)s, makes it possible to use %(daita)s with any server by using multihop. This might increase latency.', + 'Makes it possible to use %(daita)s with any server and is automatically enabled.', ), { daita: strings.daita }, )} @@ -191,3 +198,16 @@ export function SmartRoutingModalMessage() { </ModalMessage> ); } + +function featureUnavailableMessage() { + const automatic = messages.gettext('Automatic'); + const tunnelProtocol = messages.pgettext('vpn-settings-view', 'Tunnel protocol'); + + return sprintf( + messages.pgettext( + 'wireguard-settings-view', + 'Switch to “%(wireguard)s” or “%(automatic)s” in Settings > %(tunnelProtocol)s to make %(setting)s available.', + ), + { wireguard: strings.wireguard, automatic, tunnelProtocol, setting: strings.daita }, + ); +} diff --git a/gui/src/renderer/components/Settings.tsx b/gui/src/renderer/components/Settings.tsx index 2280998d3a..d76ebb242e 100644 --- a/gui/src/renderer/components/Settings.tsx +++ b/gui/src/renderer/components/Settings.tsx @@ -71,6 +71,7 @@ export default function Support() { <Cell.Group> <UserInterfaceSettingsButton /> <MultihopButton /> + <DaitaButton /> <VpnSettingsButton /> </Cell.Group> @@ -152,6 +153,24 @@ function MultihopButton() { ); } +function DaitaButton() { + const history = useHistory(); + const navigate = useCallback(() => history.push(RoutePath.daitaSettings), [history]); + const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false); + const relaySettings = useSelector((state) => state.settings.relaySettings); + const unavailable = + 'normal' in relaySettings ? relaySettings.normal.tunnelProtocol === 'openvpn' : true; + + return ( + <Cell.CellNavigationButton onClick={navigate}> + <Cell.Label>{strings.daita}</Cell.Label> + <Cell.SubText> + {daita && !unavailable ? messages.gettext('On') : messages.gettext('Off')} + </Cell.SubText> + </Cell.CellNavigationButton> + ); +} + function VpnSettingsButton() { const history = useHistory(); const navigate = useCallback(() => history.push(RoutePath.vpnSettings), [history]); diff --git a/gui/src/renderer/components/WireguardSettings.tsx b/gui/src/renderer/components/WireguardSettings.tsx index 51817c2029..9a79111ad7 100644 --- a/gui/src/renderer/components/WireguardSettings.tsx +++ b/gui/src/renderer/components/WireguardSettings.tsx @@ -95,10 +95,6 @@ export default function WireguardSettings() { </Cell.Group> <Cell.Group> - <DaitaButton /> - </Cell.Group> - - <Cell.Group> <QuantumResistantSetting /> </Cell.Group> @@ -428,19 +424,6 @@ function MtuSetting() { ); } -function DaitaButton() { - const history = useHistory(); - const navigate = useCallback(() => history.push(RoutePath.daitaSettings), [history]); - const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false); - - return ( - <Cell.CellNavigationButton onClick={navigate}> - <Cell.Label>{strings.daita}</Cell.Label> - <Cell.SubText>{daita ? messages.gettext('On') : messages.gettext('Off')}</Cell.SubText> - </Cell.CellNavigationButton> - ); -} - function QuantumResistantSetting() { const { setWireguardQuantumResistant } = useAppContext(); const quantumResistant = useSelector((state) => state.settings.wireguard.quantumResistant); diff --git a/gui/src/renderer/lib/routes.ts b/gui/src/renderer/lib/routes.ts index 68e8357b6e..89b50c1fb0 100644 --- a/gui/src/renderer/lib/routes.ts +++ b/gui/src/renderer/lib/routes.ts @@ -16,7 +16,7 @@ export enum RoutePath { multihopSettings = '/settings/multihop', vpnSettings = '/settings/vpn', wireguardSettings = '/settings/advanced/wireguard', - daitaSettings = '/settings/advanced/wireguard/daita', + daitaSettings = '/settings/daita', udpOverTcp = '/settings/advanced/wireguard/udp-over-tcp', shadowsocks = '/settings/advanced/shadowsocks', openVpnSettings = '/settings/advanced/openvpn', |
