openreplay/frontend/app/components/Modal/ModalContext.js
2022-03-25 18:57:23 +01:00

40 lines
735 B
JavaScript

import React, { Component, createContext } from 'react';
const ModalContext = createContext({
component: null,
props: {},
showModal: () => {},
hideModal: () => {}
});
export class ModalProvider extends Component {
showModal = (component, props = {}) => {
this.setState({
component,
props
});
};
hideModal = () =>
this.setState({
component: null,
props: {}
});
state = {
component: null,
props: {},
showModal: this.showModal,
hideModal: this.hideModal
};
render() {
return (
<ModalContext.Provider value={this.state}>
{this.props.children}
</ModalContext.Provider>
);
}
}
export const ModalConsumer = ModalContext.Consumer;