import { Colors } from "@dash/components/src"; import { FontAwesomeIcon, FontAwesomeIconProps } from "@fortawesome/react-fontawesome"; import { Template } from "../Template"; import { runInAction } from "mobx"; import React from "react"; import { ObservableReactComponent } from "../../../../ObservableReactComponent"; import { DocCreatorMenu } from "../DocCreatorMenu"; import { IconProp } from "@fortawesome/fontawesome-svg-core"; export interface TemplatePreviewBoxProps { template: Template; menu: DocCreatorMenu; leftButtonOpts?: [icon: IconProp, func: (template: Template) => void] rightButtonOpts?: [icon: IconProp, func: (template: Template) => void] } export class TemplatePreviewBox extends ObservableReactComponent { render() { const template = this.props.template; return (
this.props.menu.setUpButtonClick(e, () => runInAction(() => this.props.menu._selectedTemplate = template))}> { this.props.leftButtonOpts ? : null } { this.props.rightButtonOpts ? : null } {this.props.menu.docPreview(template.getRenderedDoc())}
) } }