summaryrefslogtreecommitdiffhomepage
path: root/gui/src
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-02-18 09:59:31 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-03-02 17:24:54 +0100
commit5ebf5525627ce60ec531ba8070fadf0c7cb08449 (patch)
treec9e63f98eb084b65e0f0de7c22c7d8185c785785 /gui/src
parente564905eb639e53e499fab3f5d88ab7f74e12a57 (diff)
downloadmullvadvpn-5ebf5525627ce60ec531ba8070fadf0c7cb08449.tar.xz
mullvadvpn-5ebf5525627ce60ec531ba8070fadf0c7cb08449.zip
Add error dialog after browsing for non executable
Diffstat (limited to 'gui/src')
-rw-r--r--gui/src/renderer/components/LinuxSplitTunnelingSettings.tsx18
1 files changed, 17 insertions, 1 deletions
diff --git a/gui/src/renderer/components/LinuxSplitTunnelingSettings.tsx b/gui/src/renderer/components/LinuxSplitTunnelingSettings.tsx
index 58ef92d084..6a87a73a5a 100644
--- a/gui/src/renderer/components/LinuxSplitTunnelingSettings.tsx
+++ b/gui/src/renderer/components/LinuxSplitTunnelingSettings.tsx
@@ -107,6 +107,7 @@ export default function LinuxSplitTunnelingSettings() {
const [applications, setApplications] = useState<ILinuxSplitTunnelingApplication[]>();
const [applicationListHeight, setApplicationListHeight] = useState<number>();
const [browsing, setBrowsing] = useState(false);
+ const [showBrowseFailureDialog, setShowBrowseFailureDialog] = useState(false);
const applicationListRef = useRef() as React.RefObject<HTMLDivElement>;
@@ -122,11 +123,13 @@ export default function LinuxSplitTunnelingSettings() {
try {
await launchExcludedApplication(file.filePaths[0]);
} catch (e) {
- // TODO: Show user that app couldn't be launched
+ setShowBrowseFailureDialog(true);
}
}
}, []);
+ const hideBrowseFailureDialog = useCallback(() => setShowBrowseFailureDialog(false), []);
+
useEffect(() => {
consumePromise(getSplitTunnelingApplications().then(setApplications));
}, []);
@@ -200,6 +203,19 @@ export default function LinuxSplitTunnelingSettings() {
</NavigationContainer>
</StyledContainer>
</Layout>
+ {showBrowseFailureDialog && (
+ <ModalAlert
+ type={ModalAlertType.warning}
+ iconColor={colors.red}
+ message={messages.pgettext('split-tunneling-view', 'Failed to launch application')}
+ buttons={[
+ <AppButton.BlueButton key="close" onClick={hideBrowseFailureDialog}>
+ {messages.gettext('Close')}
+ </AppButton.BlueButton>,
+ ]}
+ close={hideBrowseFailureDialog}
+ />
+ )}
</ModalContainer>
</>
);