Skip to content

Commit dc7d8df

Browse files
committed
style: implement Overview design
1 parent a336fcd commit dc7d8df

16 files changed

+534
-192
lines changed

src/assets/icon-copy.svg

Lines changed: 29 additions & 0 deletions
Loading

src/assets/icon-download-log.svg

Lines changed: 16 additions & 0 deletions
Loading

src/assets/icon-expand.svg

Lines changed: 16 additions & 0 deletions
Loading
Lines changed: 16 additions & 0 deletions
Loading

src/assets/icon-notification.svg

Lines changed: 14 additions & 0 deletions
Loading

src/assets/icon-ready.svg

Lines changed: 22 additions & 0 deletions
Loading

src/assets/icon-syncing.svg

Lines changed: 22 additions & 0 deletions
Loading

src/common/components/data-display/LabeledRow.tsx

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,91 @@
1-
import { Divider, Grid, makeStyles } from "@material-ui/core";
2-
import FileCopyOutlinedIcon from "@material-ui/icons/FileCopyOutlined";
1+
import { Grid, makeStyles } from "@material-ui/core";
32
import React, { ReactElement } from "react";
43
import { copyToClipboard } from "../../utils/appUtil";
5-
import IconButton from "../input/buttons/IconButton";
4+
import { copyIcon } from "../../../common/utils/svgIcons";
5+
import ButtonBase from "@material-ui/core/ButtonBase";
66

77
type LabeledRowProps = {
88
label: string;
99
value: string | number;
1010
paddingSpacing?: number;
1111
showCopyIcon?: boolean;
1212
reserveSpaceForCopyIcon?: boolean;
13+
statusIcon?: string;
1314
};
1415

1516
const useStyles = makeStyles((theme) => ({
1617
cell: (props: LabeledRowProps) => ({
1718
padding: theme.spacing(props.paddingSpacing ?? 2),
18-
textAlign: "center",
1919
wordWrap: "break-word",
2020
whiteSpace: "pre-wrap",
21+
fontSize: "16px",
2122
}),
23+
textLabel: {
24+
color: "#979797",
25+
},
26+
textValue: {
27+
color: "#f2f2f2",
28+
},
29+
copyIcon: {
30+
paddingRight: "5px",
31+
},
32+
copyContainer: {
33+
cursor: "pointer",
34+
color: "#f15a24",
35+
fontSize: "14px",
36+
display: "flex",
37+
justifyContent: "flex-end",
38+
},
39+
statusContainer: {
40+
display: "flex",
41+
alignItems: "center",
42+
},
43+
statusIcon: {
44+
marginRight: "10px",
45+
},
2246
}));
2347

2448
const LabeledRow = (props: LabeledRowProps): ReactElement => {
2549
const { label, value, showCopyIcon, reserveSpaceForCopyIcon } = props;
2650
const classes = useStyles(props);
2751

2852
return (
29-
<Grid container item justify="space-between" alignItems="center">
30-
<Grid item xs={reserveSpaceForCopyIcon ? 3 : 4} className={classes.cell}>
53+
<Grid container item alignItems="center">
54+
<Grid
55+
item
56+
xs={reserveSpaceForCopyIcon ? 2 : 3}
57+
className={`${classes.cell} ${classes.textLabel}`}
58+
>
3159
{label}
3260
</Grid>
33-
<Divider orientation="vertical" flexItem />
34-
<Grid item xs={reserveSpaceForCopyIcon ? 6 : 7} className={classes.cell}>
35-
{value}
61+
62+
<Grid
63+
item
64+
xs={reserveSpaceForCopyIcon ? 6 : 7}
65+
className={`${classes.cell} ${classes.textValue}`}
66+
>
67+
{props.statusIcon ? (
68+
<div className={classes.statusContainer}>
69+
<img
70+
src={props.statusIcon}
71+
className={classes.statusIcon}
72+
alt="status"
73+
/>
74+
{value}
75+
</div>
76+
) : (
77+
<div>{value}</div>
78+
)}
3679
</Grid>
3780
{reserveSpaceForCopyIcon && (
3881
<Grid item xs={2} className={classes.cell}>
3982
{showCopyIcon && (
40-
<IconButton
41-
icon={<FileCopyOutlinedIcon fontSize="small" />}
42-
tooltipTitle="Copy to clipboard"
43-
onClick={() => copyToClipboard(value)}
44-
/>
83+
<div className={classes.copyContainer}>
84+
<ButtonBase onClick={() => copyToClipboard(value)}>
85+
<img src={copyIcon} alt="copy" className={classes.copyIcon} />
86+
Copy
87+
</ButtonBase>
88+
</div>
4589
)}
4690
</Grid>
4791
)}

src/common/utils/svgIcons.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
11
import openDexLogo from "../../assets/OpenDEXLogo.svg";
2+
import expandIcon from "../../assets/icon-expand.svg";
3+
import readyIcon from "../../assets/icon-ready.svg";
4+
import syncingIcon from "../../assets/icon-syncing.svg";
5+
import copyIcon from "../../assets/icon-copy.svg";
6+
import notificationIcon from "../../assets/icon-notification.svg";
7+
import notificationActiveIcon from "../../assets/icon-notification-active.svg";
8+
import downloadIcon from "../../assets/icon-download-log.svg";
29

3-
export { openDexLogo };
10+
export {
11+
openDexLogo,
12+
expandIcon,
13+
readyIcon,
14+
syncingIcon,
15+
copyIcon,
16+
notificationIcon,
17+
notificationActiveIcon,
18+
downloadIcon,
19+
};

src/dashboard/Dashboard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ const useStyles = makeStyles((theme: Theme) =>
4444
content: {
4545
marginLeft: drawerWidth,
4646
backgroundColor: theme.palette.background.default,
47-
padding: theme.spacing(3),
47+
padding: theme.spacing(4),
4848
height: "100vh",
4949
display: "flex",
5050
flexDirection: "column",

0 commit comments

Comments
 (0)