-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathHeader.tsx
More file actions
83 lines (80 loc) · 2.01 KB
/
Header.tsx
File metadata and controls
83 lines (80 loc) · 2.01 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
import { EnsIdentity } from "@lib/api/types/get-ens";
import { formatAddress } from "@lib/utils";
import { Box, Flex, Heading } from "@livepeer/design-system";
import { QRCodeCanvas } from "qrcode.react";
import { TranscoderOrDelegateType } from ".";
const Header = ({
transcoder,
delegateProfile,
}: {
transcoder: TranscoderOrDelegateType;
delegateProfile: EnsIdentity | undefined;
}) => {
return (
<Box
css={{
paddingTop: "$3",
paddingBottom: "$2",
paddingLeft: "$3",
paddingRight: "$3",
display: "flex",
alignItems: "center",
fontWeight: "bold",
}}
>
<Flex
css={{
minWidth: 40,
minHeight: 40,
position: "relative",
marginRight: "$2",
}}
>
{delegateProfile?.avatar ? (
<Box
as="img"
css={{
objectFit: "cover",
borderRadius: 1000,
width: 40,
height: 40,
}}
src={delegateProfile.avatar}
alt={
delegateProfile?.name
? `${delegateProfile.name} avatar`
: `${delegateProfile?.id || "delegate"} avatar`
}
/>
) : (
<QRCodeCanvas
style={{
borderRadius: 1000,
width: 40,
height: 40,
}}
fgColor={`#${transcoder?.id.substr(2, 6)}`}
value={transcoder?.id ?? ""}
/>
)}
</Flex>
<Flex css={{ flexDirection: "column" }}>
<Heading size="1" css={{ fontWeight: 700 }}>
{delegateProfile?.name
? delegateProfile.name
: formatAddress(transcoder?.id)}
</Heading>
<Box
css={{
fontWeight: "normal",
color: "$muted",
fontSize: "$2",
lineHeight: 1.5,
textTransform: "initial",
}}
/>
</Flex>
</Box>
);
};
export default Header;