Files
konstitisyon.nu/components/versions/version-dialog.js
T

52 lines
1.6 KiB
JavaScript

import PropTypes from 'prop-types'
import Button from '@mui/material/Button'
import Dialog from '@mui/material/Dialog'
import DialogActions from '@mui/material/DialogActions'
import DialogContent from '@mui/material/DialogContent'
import DialogTitle from '@mui/material/DialogTitle'
import useMediaQuery from '@mui/material/useMediaQuery'
import {useTheme} from '@mui/material/styles'
import VersionComparison from './version-comparison.js'
export default function VersionDialog({versionData, versionCompare, isOpen, setIsOpen}) {
const theme = useTheme()
const fullScreen = useMediaQuery(theme.breakpoints.down('md'))
const handleClose = () => {
setIsOpen(false)
}
return (
<Dialog
fullScreen={fullScreen}
open={isOpen}
aria-labelledby='comparaison-des-versions'
onClose={handleClose}
>
<DialogTitle textAlign='center' id='comparaison-des-versions'>
{'Comparaison des versions'}
</DialogTitle>
<DialogContent>
<VersionComparison versionData={versionData} versionCompare={versionCompare} />
</DialogContent>
<DialogActions>
<Button autoFocus color='success' onClick={handleClose}>
Fermer
</Button>
</DialogActions>
</Dialog>
)
}
VersionDialog.propTypes = {
versionData: PropTypes.object,
versionCompare: PropTypes.shape({
outdated: PropTypes.bool.isRequired,
mainHash: PropTypes.string.isRequired,
current: PropTypes.object.isRequired,
main: PropTypes.object.isRequired
}).isRequired,
isOpen: PropTypes.bool.isRequired,
setIsOpen: PropTypes.func.isRequired
}