import * as React from 'react'; import './MainViewModal.scss'; import { observer } from 'mobx-react'; export interface MainViewOverlayProps { isDisplayed: boolean; interactive: boolean; contents: string | JSX.Element | null; dialogueBoxStyle?: React.CSSProperties; overlayStyle?: React.CSSProperties; dialogueBoxDisplayedOpacity?: number; overlayDisplayedOpacity?: number; closeOnExternalClick?: () => void; // the close method of a MainViewModal, triggered if there is a click on the overlay (closing the modal) } @observer export class MainViewModal extends React.Component { render() { const p = this.props; const dialogueOpacity = p.dialogueBoxDisplayedOpacity || 1; const overlayOpacity = p.overlayDisplayedOpacity || 0.4; return !p.isDisplayed ? null : (
{p.contents}
); } }