github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/dashboard/frontend/src/components/system/Snackbar.tsx (about) 1 import React, { useCallback } from 'react' 2 import MuiSnackbar from '@mui/material/Snackbar' 3 import Alert from '@mui/material/Alert' 4 import { 5 SnackbarContext, 6 } from '../../contexts/snackbar' 7 8 const Snackbar: React.FC = () => { 9 const snackbarContext = React.useContext(SnackbarContext) 10 11 const handleClose = useCallback(() => { 12 snackbarContext.setSnackbar('') 13 }, []) 14 15 if(!snackbarContext.snackbar) return null 16 17 return ( 18 <MuiSnackbar 19 open 20 autoHideDuration={ 5000 } 21 anchorOrigin={{ vertical: 'top', horizontal: 'center' }} 22 onClose={ handleClose } 23 > 24 <Alert 25 severity={ snackbarContext.snackbar.severity } 26 elevation={ 6 } 27 variant="filled" 28 onClose={ handleClose } 29 > 30 { snackbarContext.snackbar.message } 31 </Alert> 32 </MuiSnackbar> 33 ) 34 } 35 36 export default Snackbar