-
Notifications
You must be signed in to change notification settings - Fork 79
Expand file tree
/
Copy pathDetailRow.tsx
More file actions
104 lines (97 loc) · 2.42 KB
/
DetailRow.tsx
File metadata and controls
104 lines (97 loc) · 2.42 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
import { FC } from "react"
import { makeStyles } from "tss-react/mui"
import { BoxProps, Typography } from "@mui/material"
import useCheckViewport from "@/hooks/useCheckViewport"
import { formatAmount } from "@/utils"
export type DetailRowProps = {
title: string
value?: any
tooltip?: any
highlighted?: boolean
large?: boolean
xlarge?: boolean
contrastText?: boolean
price?: string | number
}
const useStyles = makeStyles()(theme => ({
rowItem: {
"& td": {
width: "20rem",
padding: 0,
},
"& td:last-child": {
width: "auto",
},
[theme.breakpoints.down("sm")]: {
verticalAlign: "top",
},
},
detailLabel: {
fontSize: "1.6rem",
fontWeight: 600,
lineHeight: "3rem",
width: "auto",
whiteSpace: "nowrap",
paddingRight: "2.4rem",
[theme.breakpoints.down("sm")]: {
fontSize: "1.4rem",
lineHeight: "2.4rem",
},
},
amount: {
fontSize: "1.6rem",
fontWeight: 400,
lineHeight: "3rem",
whiteSpace: "nowrap",
paddingRight: "2.4rem",
fontFamily: "var(--font-developer) !important",
[theme.breakpoints.down("sm")]: {
fontSize: "1.4rem",
lineHeight: "2.4rem",
},
},
price: {
fontSize: "1.6rem",
fontWeight: 400,
lineHeight: "3rem",
color: "#5B5B5B",
fontFamily: "var(--font-developer) !important",
[theme.breakpoints.down("sm")]: {
fontSize: "1.4rem",
lineHeight: "2.4rem",
},
},
}))
const DetailRow: FC<DetailRowProps & BoxProps> = props => {
const { title, value, large = false, price } = props
const { classes: styles } = useStyles()
const variant = large ? "h6" : "subtitle2"
const { isMobile } = useCheckViewport()
return (
<tr className={styles.rowItem}>
<td>
<Typography variant={variant} className={styles.detailLabel}>
{title}
</Typography>
</td>
<td>
<Typography variant={variant} className={styles.amount}>
{value || "•"}
</Typography>
{isMobile ? (
<Typography variant={variant} className={styles.price}>
{price ? ` $${formatAmount(price)}` : ""}
</Typography>
) : null}
</td>
{isMobile ? null : (
<td>
<Typography variant={variant} className={styles.price}>
{price ? ` $${formatAmount(price)}` : ""}
</Typography>
</td>
)}
</tr>
)
}
export default DetailRow