-
Notifications
You must be signed in to change notification settings - Fork 0
Progress
rkaku edited this page Nov 15, 2019
·
1 revision
import React from 'react';
import { makeStyles, withStyles } from '@material-ui/core/styles';
import LinearProgress from '@material-ui/core/LinearProgress';
const ColorLinearProgress = withStyles({
colorPrimary: {
backgroundColor: '#fe6b8b',
},
barColorPrimary: {
backgroundColor: '#ff8e53',
},
})(LinearProgress);
const useStyles = makeStyles(theme => ({
root: {
width: '100%',
'& > * + *': {
marginTop: theme.spacing(0),
},
},
}));
export default function CustomizedProgressBars() {
const classes = useStyles();
return (
<div className={classes.root}>
<ColorLinearProgress variant="query" className={classes.margin} />
<ColorLinearProgress variant="query" className={classes.margin} />
<ColorLinearProgress variant="query" className={classes.margin} />
</div>
);
}import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import Fade from '@material-ui/core/Fade';
import Button from '@material-ui/core/Button';
import CircularProgress from '@material-ui/core/CircularProgress';
import Typography from '@material-ui/core/Typography';
import Fab from '@material-ui/core/Fab';
// import PetsOutlinedIcon from '@material-ui/icons/PetsOutlined';
const useStyles = makeStyles(theme => ({
root: {
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
},
button: {
margin: theme.spacing(2),
},
placeholder: {
height: 50,
},
}));
export default function DelayingAppearance() {
const classes = useStyles();
const [query, setQuery] = React.useState('idle');
const timerRef = React.useRef();
React.useEffect(
() => () => {
clearTimeout(timerRef.current);
},
[],
);
const handleClickQuery = () => {
clearTimeout(timerRef.current);
if (query !== 'idle') {
setQuery('idle');
return;
}
setQuery('progress');
timerRef.current = setTimeout(() => {
setQuery('success');
}, 6789);
};
return (
<div className={classes.root}>
<div className={classes.placeholder}>
{query === 'success' ? (
<Typography>Success!</Typography>
) : (
<Fade
in={query === 'progress'}
style={{
transitionDelay: query === 'progress' ? '1111ms' : '0ms',
}}
unmountOnExit
>
<CircularProgress />
</Fade>
)}
</div>
<Fab
variant="extended"
aria-label="mine"
// className={classes.fab}
onClick={handleClickQuery}
className={classes.button}
>
{query !== 'idle' ? 'Now Mining...' : 'Start Mining'}
</Fab>
</div>
);
}