aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/BBSThread.js6
-rw-r--r--src/ReplyForm.js67
2 files changed, 71 insertions, 2 deletions
diff --git a/src/BBSThread.js b/src/BBSThread.js
index e54588b..dd220ce 100644
--- a/src/BBSThread.js
+++ b/src/BBSThread.js
@@ -3,7 +3,7 @@ import { Header, Icon, Loader, Message, Segment } from "semantic-ui-react";
import Moment from "react-moment";
import "moment/locale/es";
import Post from "./Post";
-
+import ReplyForm from "./ReplyForm";
class BBSThread extends Component {
constructor(props) {
@@ -57,7 +57,7 @@ class BBSThread extends Component {
);
}
- const { posts, subject, timestamp, total_replies, locked } = this.state.thread;
+ const { posts, subject, timestamp, total_replies, locked, id } = this.state.thread;
return (
<div>
@@ -83,6 +83,8 @@ class BBSThread extends Component {
)
}
+ <ReplyForm dir={this.props.dir} parent={id} />
+
<a href={`https://bienvenidoainternet.org/cgi/api/thread?dir=${this.props.dir}&id=${this.props.id}`}>API Link</a>
</div>);
}
diff --git a/src/ReplyForm.js b/src/ReplyForm.js
new file mode 100644
index 0000000..cd45211
--- /dev/null
+++ b/src/ReplyForm.js
@@ -0,0 +1,67 @@
+import React, { Component } from "react";
+import { Form, Segment, Button } from "semantic-ui-react";
+
+class ReplyForm extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ name: "",
+ email: "",
+ message: "",
+ submittedName: "",
+ submittedEmail: "",
+ submittedMessage: ""
+ }
+ this.handleChange = this.handleChange.bind(this);
+ this.handleSubmit = this.handleSubmit.bind(this);
+ }
+
+ handleChange(e) {
+ const { name, value } = e.target;
+ this.setState({ [name]: value })
+ }
+
+ handleSubmit() {
+ const { name, email, message } = this.state
+ this.setState({ submittedName: name, submittedEmail: email, submittedMessage: message })
+ const formData = {
+ board: this.props.dir,
+ parent: this.props.parent,
+ name: "",
+ email: "",
+ fielda: name,
+ fieldb: email,
+ message: message,
+ password: "bai-client"
+ }
+ fetch('https://bienvenidoainternet.org/cgi/api/post', {
+ method: 'POST',
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json' },
+ mode: "cors",
+ redirect: 'follow',
+ body: JSON.stringify(formData)
+ }
+ ).then(response => {
+ console.log(response.json);
+ });
+ }
+
+ render() {
+ const { name, email, message } = this.state;
+ return (
+ <Segment>
+ <Form onSubmit={this.handleSubmit}>
+ <Form.Group>
+ <Form.Input name="name" fluid placeholder='Nombre (Opcional)' value={name} width={4} onChange={this.handleChange} />
+ <Form.Input name="email" fluid placeholder='E-mail (Opcional)' value={email} width={4} onChange={this.handleChange} />
+ </Form.Group>
+ <Form.TextArea name="message" value={message} label='Mensaje' placeholder='( ・ω・) Cuentáme algo interesante ...' width={8} onChange={this.handleChange} />
+ <Button type='submit' secondary>Enviar</Button>
+ </Form>
+ </Segment >
+ );
+ }
+
+}
+
+export default ReplyForm; \ No newline at end of file