import { EOL } from 'os' import React from 'react' import domtoimage from 'dom-to-image' import CodeMirror from 'react-codemirror' // hack to only call modes on browser if (typeof window !== 'undefined' && typeof window.navigator !== 'undefined') { require('codemirror/mode/javascript/javascript'); require('codemirror/mode/xml/xml'); require('codemirror/mode/markdown/markdown'); } const padding = '50px 50px' class CodeImage extends React.Component { constructor (props) { super(props) this.state = { code: this.props.children } this.save = this.save.bind(this) } save () { // save domtoimage.toJpeg(this.container) .then((dataUrl) => { const link = document.createElement('a') link.download = 'my-image-name.jpeg' link.href = dataUrl link.click() }) } updateCode (newCode) { this.setState({ code: newCode }) } render () { const options = { lineNumbers: false, mode: 'javascript' } return (
{ this.container = container }}>
) } } export default CodeImage