codekingpro/portable-devtools
114k
1import React from 'react';2import { useModalStyles } from '../helpers/ModalProvider';3import gettext from 'sources/gettext';4import { Box } from '@mui/material';5import { DefaultButton, PrimaryButton } from '../components/Buttons';6import CloseIcon from '@mui/icons-material/CloseRounded';7import CheckRoundedIcon from '@mui/icons-material/CheckRounded';8import DeleteRoundedIcon from '@mui/icons-material/DeleteRounded';9import HTMLReactParser from 'html-react-parser';10import PropTypes from 'prop-types';11 12export default function ConfirmSaveContent({closeModal, text, onDontSave, onSave}) {13 const classes = useModalStyles();14 return (15 <Box display="flex" flexDirection="column" height="100%">16 <Box flexGrow="1" p={2}>{typeof(text) == 'string' ? HTMLReactParser(text) : text}</Box>17 <Box className={classes.footer}>18 <DefaultButton data-test="close" startIcon={<CloseIcon />} onClick={()=>{19 closeModal();20 }} >{gettext('Cancel')}</DefaultButton>21 <DefaultButton data-test="dont-save" className={classes.margin} startIcon={<DeleteRoundedIcon />} onClick={()=>{22 onDontSave?.();23 closeModal();24 }} >{gettext('Don\'t save')}</DefaultButton>25 <PrimaryButton data-test="save" className={classes.margin} startIcon={<CheckRoundedIcon />} onClick={()=>{26 onSave?.();27 closeModal();28 }} autoFocus={true} >{gettext('Save')}</PrimaryButton>29 </Box>30 </Box>31 );32}33 34ConfirmSaveContent.propTypes = {35 closeModal: PropTypes.func,36 text: PropTypes.string,37 onDontSave: PropTypes.func,38 onSave: PropTypes.func39};40 