summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarkus Pettersson <markus.pettersson@mullvad.net>2025-07-15 14:40:06 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-07-23 09:41:54 +0200
commit50936e756abb825757bc539dacfadb6640792fae (patch)
tree864a80cd04f2a9b448fc97d1197d856866972a38
parent5bf76da983c89530743ee7b6e21ea5a6d93d8697 (diff)
downloadmullvadvpn-50936e756abb825757bc539dacfadb6640792fae.tar.xz
mullvadvpn-50936e756abb825757bc539dacfadb6640792fae.zip
Add QUIC filter chip to select location view
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/select-location/RelayListContext.tsx1
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/select-location/SelectLocation.tsx19
2 files changed, 18 insertions, 2 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/select-location/RelayListContext.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/select-location/RelayListContext.tsx
index bc5fbecdca..d300c56e7f 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/select-location/RelayListContext.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/select-location/RelayListContext.tsx
@@ -10,6 +10,7 @@ import {
filterLocations,
filterLocationsByDaita,
filterLocationsByEndPointType,
+ filterLocationsByQuic,
getLocationsExpandedBySearch,
searchForLocations,
} from '../../lib/filter-locations';
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/select-location/SelectLocation.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/select-location/SelectLocation.tsx
index d5be26cbf4..ef1c480699 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/select-location/SelectLocation.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/select-location/SelectLocation.tsx
@@ -2,7 +2,7 @@ import { useCallback, useState } from 'react';
import { sprintf } from 'sprintf-js';
import { strings } from '../../../shared/constants';
-import { Ownership } from '../../../shared/daemon-rpc-types';
+import { ObfuscationType, Ownership } from '../../../shared/daemon-rpc-types';
import { messages } from '../../../shared/gettext';
import { RoutePath } from '../../../shared/routes';
import { Button, FilterChip, Flex, IconButton, LabelTiny } from '../../lib/components';
@@ -62,6 +62,9 @@ export default function SelectLocation() {
const filteredProviders = useFilteredProviders(providers, ownership);
const daita = useSelector((state) => state.settings.wireguard.daita?.enabled ?? false);
const directOnly = useSelector((state) => state.settings.wireguard.daita?.directOnly ?? false);
+ const showQuicFilter = useSelector(
+ (state) => state.settings.obfuscationSettings.selectedObfuscation === ObfuscationType.quic,
+ );
const showDaitaFilter = daitaFilterActive(
daita,
directOnly,
@@ -119,7 +122,8 @@ export default function SelectLocation() {
const showOwnershipFilter = ownership !== Ownership.any;
const showProvidersFilter = providers.length > 0;
- const showFilters = showOwnershipFilter || showProvidersFilter || showDaitaFilter;
+ const showFilters =
+ showOwnershipFilter || showProvidersFilter || showDaitaFilter || showQuicFilter;
return (
<BackAction action={onClose}>
<Layout>
@@ -199,6 +203,17 @@ export default function SelectLocation() {
</FilterChip.Text>
</FilterChip>
)}
+
+ {showQuicFilter && (
+ <FilterChip as="div">
+ <FilterChip.Text>
+ {sprintf(
+ messages.pgettext('select-location-view', 'Setting: %(settingName)s'),
+ { settingName: 'QUIC' },
+ )}
+ </FilterChip.Text>
+ </FilterChip>
+ )}
</Flex>
)}