diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-10-09 15:13:56 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-10-09 15:13:56 +0100 |
| commit | 14e135a5b5306fbdc7ac67125d6e0b10af7d5fbf (patch) | |
| tree | c50ad5c9801c86eacda953c0810ebabbdd538c47 /gui/src/renderer/components | |
| parent | 6a802299170b118df77fecb3b419c3f0023d90f5 (diff) | |
| parent | d19f24c67339f75ff743a4db42a383b4c64a2e54 (diff) | |
| download | mullvadvpn-14e135a5b5306fbdc7ac67125d6e0b10af7d5fbf.tar.xz mullvadvpn-14e135a5b5306fbdc7ac67125d6e0b10af7d5fbf.zip | |
Merge branch 'gui-fix-autologin'
Diffstat (limited to 'gui/src/renderer/components')
| -rw-r--r-- | gui/src/renderer/components/Connect.tsx | 8 | ||||
| -rw-r--r-- | gui/src/renderer/components/ExpiredAccountErrorView.tsx | 40 |
2 files changed, 27 insertions, 21 deletions
diff --git a/gui/src/renderer/components/Connect.tsx b/gui/src/renderer/components/Connect.tsx index 3763751c60..e8d5c0e096 100644 --- a/gui/src/renderer/components/Connect.tsx +++ b/gui/src/renderer/components/Connect.tsx @@ -23,7 +23,6 @@ interface IProps { onSelectLocation: () => void; onConnect: () => void; onDisconnect: () => void; - onExternalLink: (url: string) => Promise<void>; onExternalLinkWithAuth: (url: string) => Promise<void>; } @@ -173,22 +172,23 @@ export default class Connect extends Component<IProps, IState> { ); } - private handleExpiredAccountRecovery = async (recoveryAction: RecoveryAction) => { + private handleExpiredAccountRecovery = async (recoveryAction: RecoveryAction): Promise<void> => { switch (recoveryAction) { case RecoveryAction.disableBlockedWhenDisconnected: break; case RecoveryAction.openBrowser: - this.props.onExternalLink(links.purchase); + await this.props.onExternalLinkWithAuth(links.purchase); break; case RecoveryAction.disconnectAndOpenBrowser: try { await this.props.onDisconnect(); - this.props.onExternalLink(links.purchase); + await this.props.onExternalLinkWithAuth(links.purchase); } catch (error) { // no-op } + break; } }; diff --git a/gui/src/renderer/components/ExpiredAccountErrorView.tsx b/gui/src/renderer/components/ExpiredAccountErrorView.tsx index ebd4fa1f4e..1b0ceeb9f8 100644 --- a/gui/src/renderer/components/ExpiredAccountErrorView.tsx +++ b/gui/src/renderer/components/ExpiredAccountErrorView.tsx @@ -14,7 +14,7 @@ export enum RecoveryAction { interface IProps { isBlocked: boolean; blockWhenDisconnected: boolean; - action: (recoveryAction: RecoveryAction) => void; + action: (recoveryAction: RecoveryAction) => Promise<void>; } interface IState { @@ -93,12 +93,14 @@ export default class ExpiredAccountErrorView extends Component<IProps, IState> { } } - private handleAction = () => { - this.props.action(this.state.recoveryAction); + private handleAction = (): Promise<void> => { + return this.props.action(this.state.recoveryAction); }; } -class DisconnectAndOpenBrowserContentView extends Component<{ actionHandler: () => void }> { +class DisconnectAndOpenBrowserContentView extends Component<{ + actionHandler: () => Promise<void>; +}> { public render() { return ( <View> @@ -109,19 +111,21 @@ class DisconnectAndOpenBrowserContentView extends Component<{ actionHandler: () )} </View> <View> - <AppButton.RedButton onPress={this.props.actionHandler}> - <AppButton.Label> - {messages.pgettext('connect-view', 'Disconnect and buy more credit')} - </AppButton.Label> - <AppButton.Icon source="icon-extLink" height={16} width={16} /> - </AppButton.RedButton> + <AppButton.BlockingButton onPress={this.props.actionHandler}> + <AppButton.RedButton> + <AppButton.Label> + {messages.pgettext('connect-view', 'Disconnect and buy more credit')} + </AppButton.Label> + <AppButton.Icon source="icon-extLink" height={16} width={16} /> + </AppButton.RedButton> + </AppButton.BlockingButton> </View> </View> ); } } -class OpenBrowserContentView extends Component<{ actionHandler: () => void }> { +class OpenBrowserContentView extends Component<{ actionHandler: () => Promise<void> }> { public render() { return ( <View> @@ -132,12 +136,14 @@ class OpenBrowserContentView extends Component<{ actionHandler: () => void }> { )} </View> <View> - <AppButton.GreenButton onPress={this.props.actionHandler}> - <AppButton.Label> - {messages.pgettext('connect-view', 'Buy more credit')} - </AppButton.Label> - <AppButton.Icon source="icon-extLink" height={16} width={16} /> - </AppButton.GreenButton> + <AppButton.BlockingButton onPress={this.props.actionHandler}> + <AppButton.GreenButton> + <AppButton.Label> + {messages.pgettext('connect-view', 'Buy more credit')} + </AppButton.Label> + <AppButton.Icon source="icon-extLink" height={16} width={16} /> + </AppButton.GreenButton> + </AppButton.BlockingButton> </View> </View> ); |
