summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-10-01 08:22:22 +0200
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-10-01 08:22:22 +0200
commit18a9098919cb0f5e325fe1399806991bc56da4d8 (patch)
treedb07a70fbc7f53d6acb4f786f12c19dd1b169559
parent30bae1819de1ede5c4b9334dbd2b6cf945e237fd (diff)
parent7538fe3fc81b4dffd9973b625606b5ed8e5d2d71 (diff)
downloadmullvadvpn-18a9098919cb0f5e325fe1399806991bc56da4d8.tar.xz
mullvadvpn-18a9098919cb0f5e325fe1399806991bc56da4d8.zip
Merge branch 'fix-api-access-method-e2e-tests'
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/ProxyForm.tsx13
1 files changed, 9 insertions, 4 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/ProxyForm.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/ProxyForm.tsx
index 9cb0686173..c90a0db195 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/ProxyForm.tsx
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/ProxyForm.tsx
@@ -26,6 +26,7 @@ import {
} from './cell/SettingsTextInput';
interface ProxyFormContext {
+ isNew: boolean;
proxy?: CustomProxy;
setProxy: (proxy: CustomProxy) => void;
onSave: () => void;
@@ -34,6 +35,9 @@ interface ProxyFormContext {
}
const proxyFormContext = React.createContext<ProxyFormContext>({
+ get isNew(): boolean {
+ throw new Error('Missing ProxyFromContext provider');
+ },
get proxy(): CustomProxy {
throw new Error('Missing ProxyFromContext provider');
},
@@ -62,6 +66,7 @@ function ProxyFormContextProvider(props: React.PropsWithChildren<ProxyFormContex
const { onSave: propsOnSave } = props;
const [proxy, setProxy] = useState<CustomProxy | undefined>(props.proxy);
+ const isNew = props.proxy === undefined;
const onSave = useCallback(() => {
if (proxy !== undefined) {
@@ -70,8 +75,8 @@ function ProxyFormContextProvider(props: React.PropsWithChildren<ProxyFormContex
}, [proxy, propsOnSave]);
const value = useMemo(
- () => ({ proxy, setProxy, onSave, onCancel: props.onCancel, onDelete: props.onDelete }),
- [proxy, onSave, props.onCancel, props.onDelete],
+ () => ({ isNew, proxy, setProxy, onSave, onCancel: props.onCancel, onDelete: props.onDelete }),
+ [isNew, proxy, onSave, props.onCancel, props.onDelete],
);
return <proxyFormContext.Provider value={value}>{props.children}</proxyFormContext.Provider>;
@@ -157,7 +162,7 @@ export function ProxyFormNameField(props: ProxyFormNameFieldProps) {
}
export function ProxyFormButtons() {
- const { onSave, onCancel, onDelete, proxy } = useContext(proxyFormContext);
+ const { isNew, onSave, onCancel, onDelete } = useContext(proxyFormContext);
// Contains form submittability to know whether or not to enable the Add/Save button.
const formSubmittable = useSettingsFormSubmittable();
@@ -175,7 +180,7 @@ export function ProxyFormButtons() {
<Button.Text>{messages.gettext('Cancel')}</Button.Text>
</Button>
<Button onClick={onSave} disabled={!formSubmittable}>
- <Button.Text>{proxy ? messages.gettext('Save') : messages.gettext('Add')}</Button.Text>
+ <Button.Text>{isNew ? messages.gettext('Add') : messages.gettext('Save')}</Button.Text>
</Button>
</FlexRow>
</Flex>