summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-01-21 10:06:32 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-01-21 10:06:32 +0100
commit4f5df3a06de750dd6ad35cdebbfa21dc46fd6bf7 (patch)
tree60df39c720ec8e3f82629c3080cf5dbc7ce31fbb
parenta992519ec9545134bc53046567466670e53be0c9 (diff)
parent0490f86bce83927933fd232a580c7e5baccd6eac (diff)
downloadmullvadvpn-4f5df3a06de750dd6ad35cdebbfa21dc46fd6bf7.tar.xz
mullvadvpn-4f5df3a06de750dd6ad35cdebbfa21dc46fd6bf7.zip
Merge branch 'enable-gui-api-calls-when-blocked'
-rw-r--r--gui/src/renderer/components/ExpiredAccountErrorView.tsx6
-rw-r--r--gui/src/renderer/components/RedeemVoucher.tsx5
-rw-r--r--gui/src/renderer/components/WireguardKeys.tsx75
3 files changed, 36 insertions, 50 deletions
diff --git a/gui/src/renderer/components/ExpiredAccountErrorView.tsx b/gui/src/renderer/components/ExpiredAccountErrorView.tsx
index ded22a2eb8..c9e816da9c 100644
--- a/gui/src/renderer/components/ExpiredAccountErrorView.tsx
+++ b/gui/src/renderer/components/ExpiredAccountErrorView.tsx
@@ -256,11 +256,7 @@ export default class ExpiredAccountErrorView extends React.Component<
}
private onOpenRedeemVoucherAlert = () => {
- if (this.getRecoveryAction() === RecoveryAction.disableBlockedWhenDisconnected) {
- this.setState({ showBlockWhenDisconnectedAlert: true });
- } else {
- this.setState({ showRedeemVoucherAlert: true });
- }
+ this.setState({ showRedeemVoucherAlert: true });
};
private onCloseRedeemVoucherAlert = () => {
diff --git a/gui/src/renderer/components/RedeemVoucher.tsx b/gui/src/renderer/components/RedeemVoucher.tsx
index 290506309e..f8c0d19b83 100644
--- a/gui/src/renderer/components/RedeemVoucher.tsx
+++ b/gui/src/renderer/components/RedeemVoucher.tsx
@@ -1,12 +1,10 @@
import React, { useCallback, useContext, useState } from 'react';
-import { useSelector } from 'react-redux';
import { VoucherResponse } from '../../shared/daemon-rpc-types';
import { messages } from '../../shared/gettext';
import { useScheduler } from '../../shared/scheduler';
import { useAppContext } from '../context';
import useActions from '../lib/actionsHook';
import accountActions from '../redux/account/actions';
-import { IReduxState } from '../redux/store';
import * as AppButton from './AppButton';
import { ModalAlert } from './Modal';
import {
@@ -218,7 +216,6 @@ interface IRedeemVoucherButtonProps {
}
export function RedeemVoucherButton(props: IRedeemVoucherButtonProps) {
- const isBlocked = useSelector((state: IReduxState) => state.connection.isBlocked);
const [showAlert, setShowAlert] = useState(false);
const onClick = useCallback(() => setShowAlert(true), []);
@@ -226,7 +223,7 @@ export function RedeemVoucherButton(props: IRedeemVoucherButtonProps) {
return (
<>
- <AppButton.GreenButton disabled={isBlocked} onClick={onClick} className={props.className}>
+ <AppButton.GreenButton onClick={onClick} className={props.className}>
{messages.pgettext('redeem-voucher-alert', 'Redeem voucher')}
</AppButton.GreenButton>
{showAlert && (
diff --git a/gui/src/renderer/components/WireguardKeys.tsx b/gui/src/renderer/components/WireguardKeys.tsx
index 5bb84c7509..9c181ad57e 100644
--- a/gui/src/renderer/components/WireguardKeys.tsx
+++ b/gui/src/renderer/components/WireguardKeys.tsx
@@ -140,13 +140,7 @@ export default class WireguardKeys extends React.Component<IProps, IState> {
<StyledRowValue>{this.state.ageOfKeyString}</StyledRowValue>
</StyledRow>
- <StyledMessages>
- {this.props.isOffline ? (
- this.offlineLabel()
- ) : (
- <StyledMessage success={false}>{this.getStatusMessage()}</StyledMessage>
- )}
- </StyledMessages>
+ <StyledMessages>{this.getStatusMessage()}</StyledMessages>
<StyledButtonRow>{this.getGenerateButton()}</StyledButtonRow>
<StyledButtonRow>
@@ -189,21 +183,8 @@ export default class WireguardKeys extends React.Component<IProps, IState> {
);
}
- private offlineLabel() {
- return (
- <StyledMessage success={this.state.recentlyGeneratedKey}>
- {this.state.recentlyGeneratedKey
- ? messages.pgettext('wireguard-key-view', 'Reconnecting with new WireGuard key...')
- : messages.pgettext(
- 'wireguard-key-view',
- 'Unable to manage keys while in a blocked state',
- )}
- </StyledMessage>
- );
- }
-
private isVerifyButtonDisabled(): boolean {
- return this.props.keyState.type !== 'key-set' || this.props.isOffline;
+ return this.props.keyState.type !== 'key-set';
}
private handleVerifyKeyPress = () => {
@@ -228,7 +209,7 @@ export default class WireguardKeys extends React.Component<IProps, IState> {
let buttonText = messages.pgettext('wireguard-key-view', 'Generate key');
const regenerateText = messages.pgettext('wireguard-key-view', 'Regenerate key');
- let disabled = this.props.isOffline;
+ let disabled = false;
let generateKey = this.props.onGenerateKey;
switch (this.props.keyState.type) {
case 'key-set': {
@@ -311,28 +292,40 @@ export default class WireguardKeys extends React.Component<IProps, IState> {
});
};
- private getStatusMessage(): string {
- switch (this.props.keyState.type) {
- case 'key-set': {
- const key = this.props.keyState.key;
- if (key.replacementFailure) {
- switch (key.replacementFailure) {
- case 'too_many_keys':
- return this.formatKeygenFailure('too-many-keys');
- case 'generation_failure':
- return this.formatKeygenFailure('generation-failure');
+ private getStatusMessage() {
+ if (this.props.isOffline && this.state.recentlyGeneratedKey) {
+ return (
+ <StyledMessage success={this.state.recentlyGeneratedKey}>
+ {messages.pgettext('wireguard-key-view', 'Reconnecting with new WireGuard key...')}
+ </StyledMessage>
+ );
+ } else {
+ let message = '';
+ switch (this.props.keyState.type) {
+ case 'key-set': {
+ const key = this.props.keyState.key;
+ if (key.replacementFailure) {
+ switch (key.replacementFailure) {
+ case 'too_many_keys':
+ message = this.formatKeygenFailure('too-many-keys');
+ break;
+ case 'generation_failure':
+ message = this.formatKeygenFailure('generation-failure');
+ break;
+ }
+ } else if (key.verificationFailed) {
+ message = messages.pgettext('wireguard-key-view', 'Key verification failed');
}
- } else if (key.verificationFailed) {
- return messages.pgettext('wireguard-key-view', 'Key verification failed');
- }
- return '';
+ break;
+ }
+ case 'too-many-keys':
+ case 'generation-failure':
+ message = this.formatKeygenFailure(this.props.keyState.type);
+ break;
}
- case 'too-many-keys':
- case 'generation-failure':
- return this.formatKeygenFailure(this.props.keyState.type);
- default:
- return '';
+
+ return <StyledMessage success={false}>{message}</StyledMessage>;
}
}