summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/components
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-04-07 15:29:43 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-04-07 15:29:43 +0200
commit74ec2b59d1fa20604973f1bd4e5cd503631c2365 (patch)
tree3fa5771c1ad09e055086dab16c273c2b44d756bf /gui/src/renderer/components
parent3640e7731c8855de871c7d1af97a8d07414a4913 (diff)
parenta64c38052e9cf316d2819adcee89802f747dd630 (diff)
downloadmullvadvpn-74ec2b59d1fa20604973f1bd4e5cd503631c2365.tar.xz
mullvadvpn-74ec2b59d1fa20604973f1bd4e5cd503631c2365.zip
Merge branch 'handle-post-upgrade-flag'
Diffstat (limited to 'gui/src/renderer/components')
-rw-r--r--gui/src/renderer/components/Login.tsx18
1 files changed, 17 insertions, 1 deletions
diff --git a/gui/src/renderer/components/Login.tsx b/gui/src/renderer/components/Login.tsx
index d9ae7f105f..282f49d01c 100644
--- a/gui/src/renderer/components/Login.tsx
+++ b/gui/src/renderer/components/Login.tsx
@@ -51,6 +51,7 @@ interface IProps {
updateAccountToken: (accountToken: AccountToken) => void;
clearAccountHistory: () => Promise<void>;
createNewAccount: () => void;
+ isPerformingPostUpgrade?: boolean;
}
interface IState {
@@ -149,6 +150,10 @@ export default class Login extends React.Component<IProps, IState> {
};
private formTitle() {
+ if (this.props.isPerformingPostUpgrade) {
+ return messages.pgettext('login-view', 'Upgrading...');
+ }
+
switch (this.props.loginState.type) {
case 'logging in':
case 'too many devices':
@@ -169,6 +174,10 @@ export default class Login extends React.Component<IProps, IState> {
}
private formSubtitle() {
+ if (this.props.isPerformingPostUpgrade) {
+ return messages.pgettext('login-view', 'Finishing upgrade.');
+ }
+
switch (this.props.loginState.type) {
case 'failed':
return this.props.loginState.method === 'existing_account'
@@ -199,6 +208,10 @@ export default class Login extends React.Component<IProps, IState> {
}
private getStatusIconPath(): string | undefined {
+ if (this.props.isPerformingPostUpgrade) {
+ return 'icon-spinner';
+ }
+
switch (this.props.loginState.type) {
case 'logging in':
return 'icon-spinner';
@@ -213,6 +226,7 @@ export default class Login extends React.Component<IProps, IState> {
private allowInteraction() {
return (
+ !this.props.isPerformingPostUpgrade &&
this.props.loginState.type !== 'logging in' &&
this.props.loginState.type !== 'ok' &&
this.props.loginState.type !== 'too many devices'
@@ -291,7 +305,9 @@ export default class Login extends React.Component<IProps, IState> {
messages.pgettext('accessibility', 'Login')
}>
<StyledInputSubmitIcon
- visible={this.props.loginState.type !== 'logging in'}
+ visible={
+ this.props.loginState.type !== 'logging in' && !this.props.isPerformingPostUpgrade
+ }
source="icon-arrow"
height={16}
width={24}