process.env.NODE_ENV = "production";
import preact from "preact";
import { showModal } from "./modal";
import { observable } from "mobx";
import { observer } from "./observer";
export function showFullscreenModal(config: {
contents: preact.ComponentChildren;
onClose?: () => void;
}) {
let { close } = showModal({
contents: close()}>
{config.contents}
,
onClose: config.onClose
});
}
@observer
export class FullscreenModal extends preact.Component<{
parentState?: { open: boolean };
onCancel?: () => void;
style?: preact.JSX.CSSProperties;
outerStyle?: preact.JSX.CSSProperties;
}> {
render() {
let { parentState } = this.props;
return (
{
if (e.currentTarget === e.target) {
if (parentState) parentState.open = false;
this.props.onCancel?.();
}
}}
>
{this.props.children}
);
}
}