summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--desktop/packages/mullvad-vpn/src/renderer/components/views/app-upgrade/hooks/useShowInstallButton.ts29
1 files changed, 19 insertions, 10 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/views/app-upgrade/hooks/useShowInstallButton.ts b/desktop/packages/mullvad-vpn/src/renderer/components/views/app-upgrade/hooks/useShowInstallButton.ts
index 293f996763..eedb50bb33 100644
--- a/desktop/packages/mullvad-vpn/src/renderer/components/views/app-upgrade/hooks/useShowInstallButton.ts
+++ b/desktop/packages/mullvad-vpn/src/renderer/components/views/app-upgrade/hooks/useShowInstallButton.ts
@@ -1,19 +1,28 @@
-import { useAppUpgradeEventType, useShouldAppUpgradeInstallManually } from '../../../../hooks';
+import {
+ useAppUpgradeEventType,
+ useHasAppUpgradeError,
+ useShouldAppUpgradeInstallManually,
+} from '../../../../hooks';
+import { useAppUpgradeError } from '../../../../redux/hooks';
import { useErrorCountExceeded } from './useErrorCountExceeded';
export const useShowInstallButton = () => {
+ const { error } = useAppUpgradeError();
+ const hasAppUpgradeError = useHasAppUpgradeError();
const appUpgradeEventType = useAppUpgradeEventType();
- const shouldAppUpgradeInstallManually = useShouldAppUpgradeInstallManually();
const errorCountExceeded = useErrorCountExceeded();
+ const shouldAppUpgradeInstallManually = useShouldAppUpgradeInstallManually();
- if (errorCountExceeded) {
- return false;
- }
+ if (!errorCountExceeded) {
+ if (!hasAppUpgradeError || error === 'START_INSTALLER_AUTOMATIC_FAILED') {
+ const showInstallButton =
+ shouldAppUpgradeInstallManually ||
+ appUpgradeEventType === 'APP_UPGRADE_STATUS_STARTING_INSTALLER' ||
+ appUpgradeEventType === 'APP_UPGRADE_STATUS_STARTED_INSTALLER';
- const showInstallButton =
- shouldAppUpgradeInstallManually ||
- appUpgradeEventType === 'APP_UPGRADE_STATUS_STARTING_INSTALLER' ||
- appUpgradeEventType === 'APP_UPGRADE_STATUS_STARTED_INSTALLER';
+ return showInstallButton;
+ }
+ }
- return showInstallButton;
+ return false;
};