aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/ViewPaste.js
diff options
context:
space:
mode:
authorRyan Mehri <[email protected]>2020-05-23 12:36:03 -0600
committerGitHub <[email protected]>2020-05-23 12:36:03 -0600
commit790127ea3a34dccd870f07180e5c384e4f5d5934 (patch)
treeb59b1a2291d25f457c4be7d6fa906ea2040f1359 /frontend/src/components/ViewPaste.js
parentMerge pull request #30 from jackyzha0/latex-renderer (diff)
parentchange inline padding for latex (diff)
downloadctrl-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.js38
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>
);
}