summaryrefslogtreecommitdiffhomepage
path: root/app
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2018-08-07 11:03:11 +0200
committerAndrej Mihajlov <and@mullvad.net>2018-08-07 11:03:11 +0200
commit858ded2aa27ab9c86ecf79c1702ef07a2bdf60fe (patch)
treec279d261fad33222c3fb7e0c45904b2915f21f1b /app
parent83ae95e38026c16703a50a78966d583280010f3d (diff)
parent7ca1a8e1a3eecd18ee4acea2007b22092da97fd9 (diff)
downloadmullvadvpn-858ded2aa27ab9c86ecf79c1702ef07a2bdf60fe.tar.xz
mullvadvpn-858ded2aa27ab9c86ecf79c1702ef07a2bdf60fe.zip
Merge branch 'update-flow-v0.78'
Diffstat (limited to 'app')
-rw-r--r--app/app.js1
-rw-r--r--app/components/Account.js7
-rw-r--r--app/components/Connect.js16
-rw-r--r--app/errors.js18
4 files changed, 19 insertions, 23 deletions
diff --git a/app/app.js b/app/app.js
index 8839e3d33e..eb9c9c2647 100644
--- a/app/app.js
+++ b/app/app.js
@@ -12,7 +12,6 @@ import { log } from './lib/platform';
import ReconnectionBackoff from './lib/reconnection-backoff';
import { DaemonRpc } from './lib/daemon-rpc';
import { setShutdownHandler } from './shutdown-handler';
-
import { NoAccountError } from './errors';
import configureStore from './redux/store';
diff --git a/app/components/Account.js b/app/components/Account.js
index 2534a3e40c..2edf277fa4 100644
--- a/app/components/Account.js
+++ b/app/components/Account.js
@@ -23,14 +23,15 @@ export type AccountProps = {
onBuyMore: () => void,
};
-export type AccountState = {
+type State = {
isRefreshingExpiry: boolean,
+ showAccountTokenCopiedMessage: boolean,
};
-export default class Account extends Component<AccountProps, AccountState> {
+export default class Account extends Component<AccountProps, State> {
state = {
isRefreshingExpiry: false,
- showAccountCopiedMessage: false,
+ showAccountTokenCopiedMessage: false,
};
_activationStateToken: ?Types.SubscriptionToken;
diff --git a/app/components/Connect.js b/app/components/Connect.js
index d472c45b31..037ab02495 100644
--- a/app/components/Connect.js
+++ b/app/components/Connect.js
@@ -80,8 +80,18 @@ export default class Connect extends Component<ConnectProps, ConnectState> {
}
renderError(error: Error) {
- const title = error.userFriendlyTitle || 'Something went wrong';
- const message = error.userFriendlyMessage || error.message;
+ let title = '';
+ let message = '';
+
+ if (error instanceof NoCreditError) {
+ title = 'Out of time';
+ message = 'Buy more time, so you can continue using the internet securely';
+ }
+
+ if (error instanceof NoInternetError) {
+ title = 'Offline';
+ message = 'Your internet connection will be secured when you get back online';
+ }
return (
<View style={styles.connect}>
@@ -91,7 +101,7 @@ export default class Connect extends Component<ConnectProps, ConnectState> {
<View style={styles.status}>
<View style={styles.error_title}>{title}</View>
<View style={styles.error_message}>{message}</View>
- {error.type === 'NO_CREDIT' ? (
+ {error instanceof NoCreditError ? (
<View>
<AppButton.GreenButton onPress={this.onExternalLink.bind(this, 'purchase')}>
<AppButton.Label>Buy more time</AppButton.Label>
diff --git a/app/errors.js b/app/errors.js
index 993b4d0ff1..7464851a1f 100644
--- a/app/errors.js
+++ b/app/errors.js
@@ -1,29 +1,15 @@
+// @flow
+
export class NoCreditError extends Error {
constructor() {
super("Account doesn't have enough credit available for connection");
}
-
- get userFriendlyTitle(): string {
- return 'Out of time';
- }
-
- get userFriendlyMessage(): string {
- return 'Buy more time, so you can continue using the internet securely';
- }
}
export class NoInternetError extends Error {
constructor() {
super('Internet connectivity is currently unavailable');
}
-
- get userFriendlyTitle(): string {
- return 'Offline';
- }
-
- get userFriendlyMessage(): string {
- return 'Your internet connection will be secured when you get back online';
- }
}
export class NoDaemonError extends Error {