summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-03-11 13:19:44 +0100
committerMarkus Pettersson <markus.pettersson@mullvad.net>2025-03-19 15:06:37 +0100
commitde3f820588c14f2d9c6e0ef3a7702e9e7b2e7f90 (patch)
tree57bd89db7bc09048763eb9732e3a8fe54c8a28fd
parent1cb64dd714e0bfca67f90cce6c7d80633e60e417 (diff)
downloadmullvadvpn-de3f820588c14f2d9c6e0ef3a7702e9e7b2e7f90.tar.xz
mullvadvpn-de3f820588c14f2d9c6e0ef3a7702e9e7b2e7f90.zip
Add open vpn deprecation warning to tunnel protocol selector
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/VpnSettings.tsx36
1 files changed, 33 insertions, 3 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/VpnSettings.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/VpnSettings.tsx
index a3b0174e98..a4077a6128 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/VpnSettings.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/VpnSettings.tsx
@@ -2,11 +2,12 @@ import { useCallback, useMemo } from 'react';
import { sprintf } from 'sprintf-js';
import styled from 'styled-components';
-import { strings } from '../../shared/constants';
+import { strings, urls } from '../../shared/constants';
import { IDnsOptions, TunnelProtocol } from '../../shared/daemon-rpc-types';
import { messages } from '../../shared/gettext';
import log from '../../shared/logging';
import { useAppContext } from '../context';
+import { Flex, Icon } from '../lib/components';
import { useRelaySettingsUpdater } from '../lib/constraint-updater';
import { Colors, spacings } from '../lib/foundations';
import { useHistory } from '../lib/history';
@@ -22,6 +23,7 @@ import { AriaDescription, AriaDetails, AriaInput, AriaInputGroup, AriaLabel } fr
import * as Cell from './cell';
import Selector, { SelectorItem } from './cell/Selector';
import CustomDnsSettings from './CustomDnsSettings';
+import { ExternalLink } from './ExternalLink';
import InfoButton from './InfoButton';
import { BackAction } from './KeyboardNavigation';
import { Layout, SettingsContainer, SettingsContent, SettingsGroup, SettingsStack } from './Layout';
@@ -725,7 +727,7 @@ function TunnelProtocolSetting() {
value={tunnelProtocol}
onSelect={setTunnelProtocol}
/>
- {openVpnDisabled ? (
+ {openVpnDisabled && (
<Cell.CellFooter>
<AriaDescription>
<Cell.CellFooterText>
@@ -739,7 +741,35 @@ function TunnelProtocolSetting() {
</Cell.CellFooterText>
</AriaDescription>
</Cell.CellFooter>
- ) : null}
+ )}
+ {tunnelProtocol === 'openvpn' && (
+ <Cell.CellFooter>
+ <AriaDescription>
+ <Cell.CellFooterText>
+ {sprintf(
+ // TRANSLATORS: Footer text for tunnel protocol selector when OpenVPN is selected.
+ // TRANSLATORS: Available placeholders:
+ // TRANSLATORS: %(openvpn)s - Will be replaced with OpenVPN
+ messages.pgettext(
+ 'vpn-settings-view',
+ 'Attention: We are removing support for %(openVpn)s.',
+ ),
+ { openVpn: strings.openvpn },
+ )}{' '}
+ </Cell.CellFooterText>
+ </AriaDescription>
+ <ExternalLink variant="labelTiny" to={urls.removingOpenVpnBlog}>
+ <Flex>
+ {sprintf(
+ // TRANSLATORS: Link in tunnel protocol selector footer to blog post
+ // TRANSLATORS: about OpenVPN support ending.
+ messages.pgettext('vpn-settings-view', 'Read more'),
+ )}
+ <Icon icon="external" size="small" />
+ </Flex>
+ </ExternalLink>
+ </Cell.CellFooter>
+ )}
</AriaInputGroup>
);
}