diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-02-18 09:59:31 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-03-02 17:24:54 +0100 |
| commit | 5ebf5525627ce60ec531ba8070fadf0c7cb08449 (patch) | |
| tree | c9e63f98eb084b65e0f0de7c22c7d8185c785785 /gui/src | |
| parent | e564905eb639e53e499fab3f5d88ab7f74e12a57 (diff) | |
| download | mullvadvpn-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.tsx | 18 |
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> </> ); |
