aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/ViewPaste.js
diff options
context:
space:
mode:
authorRyan Mehri <[email protected]>2020-05-15 10:49:22 -0600
committerGitHub <[email protected]>2020-05-15 10:49:22 -0600
commitd0c8ea3198794091d9e71e1513c3f4f3a4851c92 (patch)
tree24cd91db97508a5d1a0c8051c32719d3dfc60bba /frontend/src/components/ViewPaste.js
parentMerge pull request #22 from jackyzha0/paste-modal (diff)
parentfix typo (diff)
downloadctrl-v-d0c8ea3198794091d9e71e1513c3f4f3a4851c92.tar.xz
ctrl-v-d0c8ea3198794091d9e71e1513c3f4f3a4851c92.zip
Merge pull request #23 from jackyzha0/code-render
Code render
Diffstat (limited to 'frontend/src/components/ViewPaste.js')
-rw-r--r--frontend/src/components/ViewPaste.js54
1 files changed, 25 insertions, 29 deletions
diff --git a/frontend/src/components/ViewPaste.js b/frontend/src/components/ViewPaste.js
index 835deaf..491c440 100644
--- a/frontend/src/components/ViewPaste.js
+++ b/frontend/src/components/ViewPaste.js
@@ -1,16 +1,11 @@
import React from 'react';
import Error from './Err';
-import { TitleInput, PasteInput } from './Inputs';
+import { TitleInput } from './Inputs';
+import CodeRenderer from './renderers/Code'
import PasteInfo from './PasteInfo';
import PasswordModal from './modals/PasswordModal'
import { FetchPaste, FetchPasswordPaste } from '../helpers/httpHelper'
-
-const RENDER_MODES = Object.freeze({
- RAW: 'raw text',
- MD: 'markdown',
- LATEX: 'latex',
- CODE: 'code',
-})
+import { LANGS } from './renderers/Code'
class ViewPaste extends React.Component {
@@ -25,31 +20,29 @@ class ViewPaste extends React.Component {
expiry: 'no expiry',
error: '',
passError: '',
- mode: RENDER_MODES.RAW,
+ theme: 'atom',
+ language: LANGS.raw,
};
this.handleChange = this.handleChange.bind(this);
+ this.typedPass = this.typedPass.bind(this);
this.validatePass = this.validatePass.bind(this);
this.ErrorLabel = React.createRef();
this.PasswordModal = React.createRef();
}
handleChange(event) {
- this.setState({ enteredPass: event.target.value });
- }
+ const target = event.target;
+ const name = target.name;
+ console.log(target, name)
- drawRightMode() {
- switch (this.state.mode) {
- // TODO: add other renderers
+ this.setState({
+ [name]: target.value
+ });
+ }
- // default render raw
- case RENDER_MODES.RAW:
- default:
- return (<PasteInput
- content={this.state.content}
- id="pasteInput"
- readOnly />);
- }
+ typedPass(event) {
+ this.setState({ enteredPass: event.target.value });
}
validatePass(pass) {
@@ -87,18 +80,22 @@ class ViewPaste extends React.Component {
hasPass={this.state.hasPass}
validPass={this.state.validPass}
value={this.state.enteredPass}
- onChange={this.handleChange}
+ onChange={this.typedPass}
validateCallback={this.validatePass} />
<TitleInput
value={this.state.title}
id="titleInput"
readOnly />
-
- {this.drawRightMode()}
-
+ <CodeRenderer
+ content={this.state.content}
+ lang={this.state.language}
+ theme={this.state.theme}
+ id="pasteInput" />
<PasteInfo
- expiry={this.state.expiry}
- mode={this.state.mode} />
+ lang={this.state.language}
+ theme={this.state.theme}
+ onChange={this.handleChange}
+ expiry={this.state.expiry} />
<Error ref={this.ErrorLabel} />
</div>
);
@@ -111,7 +108,6 @@ class ViewPaste extends React.Component {
}
setStateFromData(data) {
- console.log(data)
this.setState({
title: data.title,
content: data.content,