diff --git a/components/teks/diferans.js b/components/teks/diferans.js new file mode 100644 index 0000000..4e74a67 --- /dev/null +++ b/components/teks/diferans.js @@ -0,0 +1,82 @@ +import PropTypes from 'prop-types' +import {uniqueId} from 'lodash' + +import {useRef, useEffect} from 'react' +import Dialog from '@mui/material/Dialog' +import DialogContent from '@mui/material/DialogContent' +import DialogTitle from '@mui/material/DialogTitle' + +export default function Diferans({id, ouveDiferans, meteOuveDiferans, difference}) { + const handleClose = () => { + meteOuveDiferans(null) + } + + const descriptionElementRef = useRef(null) + useEffect(() => { + if (ouveDiferans) { + const {current: descriptionElement} = descriptionElementRef + if (descriptionElement !== null) { + descriptionElement.focus() + } + } + }, [ouveDiferans]) + + return ( + + + Aucune modification
+ Suppression
+ Ajout + +
+ + {difference.map(part => { + const color = part.added ? 'green' : (part.removed ? 'red' : 'grey') + return ( + + {!part.added && !part.removed && ( + {part.value} + )} + + {part.added && ( + {part.value} + )} + + {part.removed && ( + {part.value} + )} + + ) + })} + + +
+ ) +} + +Diferans.propTypes = { + id: PropTypes.number.isRequired, + ouveDiferans: PropTypes.number, + meteOuveDiferans: PropTypes.func.isRequired, + difference: PropTypes.array.isRequired +}