Skip to content

Commit

Permalink
Merge pull request #5618 from PR4NJ41/dev-10-Refactored-'modal.jsx'
Browse files Browse the repository at this point in the history
Refactored 'modal.jsx' from Class component to Functional Component
  • Loading branch information
ragesoss committed Feb 12, 2024
2 parents 492b0b2 + 7fea150 commit bb81da4
Showing 1 changed file with 21 additions and 23 deletions.
44 changes: 21 additions & 23 deletions app/assets/javascripts/components/common/modal.jsx
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
import React from 'react';
import createReactClass from 'create-react-class';
import React, { useEffect } from 'react';
import PropTypes from 'prop-types';

const Modal = createReactClass({
propTypes: {
modalClass: PropTypes.string,
children: PropTypes.node
},
componentDidMount() {
return document.querySelector('body')?.classList.add('modal-open');
},
componentWillUnmount() {
return document.querySelector('body')?.classList.remove('modal-open');
},
render() {
const className = `wizard active ${this.props.modalClass}`;
return (
<div className={className}>
{this.props.children}
</div>
);
}
}
);
const Modal = (props) => {
useEffect(() => {
document.querySelector('body')?.classList.add('modal-open');
return () => {
document.querySelector('body')?.classList.remove('modal-open');
};
}, []);

const className = `wizard active ${props.modalClass}`;
return (
<div className={className}>
{props.children}
</div>
);
};

Modal.propTypes = {
modalClass: PropTypes.string,
children: PropTypes.node
};

export default Modal;

0 comments on commit bb81da4

Please sign in to comment.