-
Notifications
You must be signed in to change notification settings - Fork 293
/
WalletRestoreSteps.js
61 lines (55 loc) · 1.75 KB
/
WalletRestoreSteps.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// @flow
import React, { Component } from 'react';
import { defineMessages, intlShape } from 'react-intl';
import { Stepper } from 'react-polymorph/lib/components/Stepper';
import { StepperSkin } from 'react-polymorph/lib/skins/simple/StepperSkin';
import styles from './WalletRestoreSteps.scss';
import { RESTORE_WALLET_STEPS } from '../../../../config/walletRestoreConfig';
import type { RestoreWalletStep } from '../../../../types/walletRestoreTypes';
type Props = {
stepNumber: number,
};
const messages = defineMessages({
typeStep: {
id: 'wallet.restore.dialog.typeStep',
defaultMessage: '!!!Type',
description: 'Step "Type" in the wallet restore dialog.',
},
mnemonicsStep: {
id: 'wallet.restore.dialog.mnemonicsStep',
defaultMessage: '!!!Recovery Phrase',
description: 'Step "Recovery Phrase" in the wallet restore dialog.',
},
configurationStep: {
id: 'wallet.restore.dialog.configurationStep',
defaultMessage: '!!!Configuration',
description: 'Step "Configuration" in the wallet restore dialog.',
},
});
export default class WalletRestoreSteps extends Component<Props> {
static contextTypes = {
intl: intlShape.isRequired,
};
get filteredSteps(): Array<RestoreWalletStep> {
return RESTORE_WALLET_STEPS.filter((stepId) => stepId !== 'success');
}
get stepsList() {
return (this: any).filteredSteps.map((stepId) =>
this.context.intl.formatMessage(messages[`${stepId}Step`])
);
}
render() {
const { stepNumber } = this.props;
const currentStep = stepNumber + 1;
return (
<div className={styles.component}>
<Stepper
steps={this.stepsList}
activeStep={currentStep}
skin={StepperSkin}
labelDisabled
/>
</div>
);
}
}