forked from 1Hive/gardens-ui
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathScreenConnected.js
More file actions
125 lines (119 loc) · 2.81 KB
/
ScreenConnected.js
File metadata and controls
125 lines (119 loc) · 2.81 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import React from 'react'
import {
Button,
ButtonBase,
GU,
IconCheck,
IconCopy,
RADIUS,
textStyle,
useTheme,
} from '@tecommons/ui'
import IdentityBadge from '../IdentityBadge'
import { getProviderFromUseWalletId } from '../../ethereum-providers'
import { useCopyToClipboard } from '../../hooks/useCopyToClipboard'
function AccountScreenConnected({ wallet }) {
const theme = useTheme()
const copy = useCopyToClipboard()
const walletNetworkName = wallet.networkName
const providerInfo = getProviderFromUseWalletId(wallet.activated)
return (
<div
css={`
padding: ${2 * GU}px;
`}
>
<div
css={`
display: flex;
align-items: center;
width: 100%;
`}
>
<div
css={`
display: flex;
align-items: center;
margin-right: ${3 * GU}px;
`}
>
<img
src={providerInfo.image}
alt=""
css={`
width: ${2.5 * GU}px;
height: ${2.5 * GU}px;
margin-right: ${0.5 * GU}px;
transform: translateY(-2px);
`}
/>
<span>
{providerInfo.id === 'unknown' ? 'Wallet' : providerInfo.name}
</span>
</div>
<div
css={`
display: flex;
align-items: center;
justify-content: flex-end;
width: 100%;
`}
>
<ButtonBase
onClick={() => copy(wallet.account)}
focusRingRadius={RADIUS}
css={`
display: flex;
align-items: center;
justify-self: flex-end;
padding: ${0.5 * GU}px;
&:active {
background: ${theme.surfacePressed};
}
`}
>
<IdentityBadge
entity={wallet.account}
compact
badgeOnly
css="cursor: pointer"
/>
<IconCopy
css={`
color: ${theme.hint};
`}
/>
</ButtonBase>
</div>
</div>
<div
css={`
display: flex;
align-items: center;
margin-top: ${1 * GU}px;
color: ${theme.positive};
${textStyle('label2')};
`}
>
<IconCheck size="small" />
<span
css={`
margin-left: ${0.5 * GU}px;
`}
>
{`Connected to Ethereum ${walletNetworkName} Network`}
</span>
</div>
<Button
onClick={() => wallet.deactivate()}
wide
css={`
margin-top: ${1 * GU}px;
`}
>
Disconnect wallet
</Button>
</div>
)
}
export default AccountScreenConnected