-
Notifications
You must be signed in to change notification settings - Fork 295
/
WalletNoTokens.tsx
84 lines (79 loc) · 2.77 KB
/
WalletNoTokens.tsx
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// @flow
import React, { Component } from 'react';
import { observer } from 'mobx-react';
import { defineMessages, intlShape } from 'react-intl';
import BorderedBox from '../../../widgets/BorderedBox';
import styles from './WalletNoTokens.scss';
import { ExternalLinkButton } from '../../../widgets/ExternalLinkButton';
const messages = defineMessages({
tokensTitle: {
id: 'wallet.summary.assets.tokensTitle',
defaultMessage: '!!!Tokens',
description: 'Number of tokens title on Wallet summary assets page',
},
learnMoreTextTop: {
id: 'wallet.summary.noTokens.learnMore.textTop',
defaultMessage: '!!!Want to find out more about native tokens?',
description: '"Learn more" text in the Wallets Summary No Tokens component',
},
learnMoreTextBottom: {
id: 'wallet.summary.noTokens.learnMore.textBottom',
defaultMessage: '!!!Start by visiting the IOHK blog for a useful primer.',
description: '"Learn more" text in the Wallets Summary No Tokens component',
},
learnMoreLinkLabel: {
id: 'wallet.summary.noTokens.learnMore.linkLabel',
defaultMessage: '!!!Learn more',
description:
'"Learn more" label or button in the Wallets Summary No Tokens component',
},
learnMoreLinkUrl: {
id: 'wallet.summary.noTokens.learnMore.linkUrl',
defaultMessage:
'!!!https://iohk.io/en/blog/posts/2021/02/04/native-tokens-to-bring-new-utility-to-life-on-cardano/',
description:
'"Learn more" link URL in the Wallets Summary No Tokens component',
},
});
type Props = {
isLoadingAssets: boolean,
onExternalLinkClick: Function,
numberOfAssets: number,
};
@observer
export default class WalletSummaryNoTokens extends Component<Props> {
static contextTypes = {
intl: intlShape.isRequired,
};
render() {
const { isLoadingAssets, onExternalLinkClick, numberOfAssets } = this.props;
const { intl } = this.context;
return (
<>
{!isLoadingAssets && (
<div className={styles.numberOfAssets}>
{intl.formatMessage(messages.tokensTitle)} ({numberOfAssets})
</div>
)}
<div className={styles.component}>
<BorderedBox>
<div className={styles.noTokensContainer}>
<div className={styles.noTokensLeftContainer}>
<p>{intl.formatMessage(messages.learnMoreTextTop)}</p>
<p>{intl.formatMessage(messages.learnMoreTextBottom)}</p>
</div>
<ExternalLinkButton
label={intl.formatMessage(messages.learnMoreLinkLabel)}
onClick={() =>
onExternalLinkClick(
intl.formatMessage(messages.learnMoreLinkUrl)
)
}
/>
</div>
</BorderedBox>
</div>
</>
);
}
}