diff options
| author | Ryan Mehri <[email protected]> | 2020-05-23 12:36:03 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-05-23 12:36:03 -0600 |
| commit | 790127ea3a34dccd870f07180e5c384e4f5d5934 (patch) | |
| tree | b59b1a2291d25f457c4be7d6fa906ea2040f1359 /frontend/src/components/ViewPaste.js | |
| parent | Merge pull request #30 from jackyzha0/latex-renderer (diff) | |
| parent | change inline padding for latex (diff) | |
| download | ctrl-v-790127ea3a34dccd870f07180e5c384e4f5d5934.tar.xz ctrl-v-790127ea3a34dccd870f07180e5c384e4f5d5934.zip | |
Merge pull request #31 from jackyzha0/latex-renderer
Latex renderer
Diffstat (limited to 'frontend/src/components/ViewPaste.js')
| -rw-r--r-- | frontend/src/components/ViewPaste.js | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/frontend/src/components/ViewPaste.js b/frontend/src/components/ViewPaste.js index 914f94c..30fb29e 100644 --- a/frontend/src/components/ViewPaste.js +++ b/frontend/src/components/ViewPaste.js @@ -6,6 +6,7 @@ import PasteInfo from './PasteInfo'; import PasswordModal from './modals/PasswordModal' import { FetchPaste, FetchPasswordPaste } from '../helpers/httpHelper' import { LANGS } from './renderers/Code' +import RenderDispatch from './renderers/RenderDispatch' class ViewPaste extends React.Component { @@ -21,11 +22,13 @@ class ViewPaste extends React.Component { error: '', passError: '', theme: 'atom', + inRenderMode: false, language: LANGS.raw, }; this.handleChange = this.handleChange.bind(this); this.typedPass = this.typedPass.bind(this); + this.toggleRender = this.toggleRender.bind(this); this.validatePass = this.validatePass.bind(this); this.ErrorLabel = React.createRef(); this.PasswordModal = React.createRef(); @@ -45,6 +48,10 @@ class ViewPaste extends React.Component { this.setState({ enteredPass: event.target.value }); } + toggleRender() { + this.setState({ isRenderMode: !this.state.isRenderMode }); + } + validatePass(pass) { FetchPasswordPaste(this.props.hash, pass) .then((response) => { @@ -73,6 +80,25 @@ class ViewPaste extends React.Component { } render() { + + var display + if (this.state.isRenderMode) { + display = + <RenderDispatch + language={this.state.language} + content={this.state.content} + ref={this.componentRef} + /> + } else { + display = + <CodeRenderer + content={this.state.content} + lang={this.state.language} + theme={this.state.theme} + ref={this.componentRef} + id="pasteInput" /> + } + return ( <div> <PasswordModal @@ -86,20 +112,18 @@ class ViewPaste extends React.Component { value={this.state.title} id="titleInput" readOnly /> - <CodeRenderer - content={this.state.content} - lang={this.state.language} - theme={this.state.theme} - ref={this.componentRef} - id="pasteInput" /> + {display} <PasteInfo hash={this.props.hash} lang={this.state.language} theme={this.state.theme} + expiry={this.state.expiry} + toggleRenderCallback={this.toggleRender} + isRenderMode={this.state.isRenderMode} onChange={this.handleChange} compref={this.componentRef} err={<Error ref={this.ErrorLabel} />} - expiry={this.state.expiry} /> + /> </div> ); } |