import React from 'react'; import styles from './slideModal.module.css'; import cn from 'classnames'; export default class SlideModal extends React.PureComponent { // componentDidMount() { // document.addEventListener('keydown', this.keyPressHandler); // } // componentWillUnmount() { // document.removeEventListener('keydown', this.keyPressHandler); // } componentDidUpdate(prevProps) { if (prevProps.isDisplayed !== this.props.isDisplayed) { if (this.props.isDisplayed) { document.addEventListener('keydown', this.keyPressHandler); // document.body.classList.add('no-scroll'); } else { document.removeEventListener('keydown', this.keyPressHandler); // document.body.classList.remove('no-scroll'); } } } keyPressHandler = (e) => { if (e.key === 'Escape' && this.props.onClose) { this.props.onClose(false); // false for togglers (?) } } render() { const { title, subtitle, onClose, content, isDisplayed, size = 'big', detailContent, right = false, bgColor="white", overlay = true } = this.props; return (
{ title &&
{ title } { subtitle &&
{ subtitle }
}
} { content }
{ detailContent }
); } }