initialize snackbar
This commit is contained in:
parent
0029f7cc26
commit
ece3514cb3
50
src/components/Snackbar.js
Normal file
50
src/components/Snackbar.js
Normal file
@ -0,0 +1,50 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
import { withStyles } from '@material-ui/core/styles';
|
||||
import IconButton from '@material-ui/core/IconButton';
|
||||
import MaterialUISnackbar from '@material-ui/core/Snackbar';
|
||||
import SnackbarContent from '@material-ui/core/SnackbarContent';
|
||||
|
||||
import { faTimes } from "@fortawesome/free-solid-svg-icons";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
const styles = (theme) => ({
|
||||
success: {
|
||||
backgroundColor: theme.palette.primary.main,
|
||||
color: theme.palette.primary.contrastText
|
||||
},
|
||||
error: {
|
||||
backgroundColor: theme.palette.error.dark,
|
||||
color: theme.palette.error.contrastText
|
||||
}
|
||||
});
|
||||
|
||||
class Snackbar extends Component {
|
||||
|
||||
render() {
|
||||
return (
|
||||
<MaterialUISnackbar
|
||||
anchorOrigin={{vertical: 'bottom', horizontal: 'left' }}
|
||||
open={this.props.open}
|
||||
onClose={this.props.onClose}
|
||||
key={Date.now()+this.props.message}
|
||||
autoHideDuration={5000}
|
||||
style={{left: '22px', bottom: '40px', width: '300px', zIndex: '100'}}
|
||||
>
|
||||
<SnackbarContent
|
||||
style={{flexWrap: 'nowrap'}}
|
||||
className={this.props.type === 'error' ? this.props.classes.error : this.props.classes.success}
|
||||
action={
|
||||
<IconButton onClick={this.props.onClose} style={{color: 'inherit'}}>
|
||||
<FontAwesomeIcon icon={faTimes} size="xs"/>
|
||||
</IconButton>
|
||||
}
|
||||
message={this.props.message}
|
||||
/>
|
||||
</MaterialUISnackbar>
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
export default withStyles(styles, {withTheme: true})(Snackbar);
|
Loading…
x
Reference in New Issue
Block a user