From 4a39a75a5a8beda6b28b311c78990d72f1cfe7cf Mon Sep 17 00:00:00 2001
From: Renard
Date: Sun, 15 Sep 2019 20:52:10 -0300
Subject: Refractor BBSThread
---
src/Thread.js | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
create mode 100644 src/Thread.js
(limited to 'src/Thread.js')
diff --git a/src/Thread.js b/src/Thread.js
new file mode 100644
index 0000000..eb9d63a
--- /dev/null
+++ b/src/Thread.js
@@ -0,0 +1,95 @@
+import React, { Component } from "react";
+import { Header, Icon, Loader, Message, Segment, Comment } from "semantic-ui-react";
+import Moment from "react-moment";
+import "moment/locale/es";
+import Post from "./Post";
+import ReplyForm from "./ReplyForm";
+
+class Thread extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ isLoading: true,
+ thread: [],
+ error: null
+ }
+ }
+
+ componentDidMount() {
+
+ let apiURl;
+ if (this.props.id > 1000000) {
+ apiURl = `https://bienvenidoainternet.org/cgi/api/thread?dir=${this.props.dir}&ts=${this.props.id}`;
+ } else {
+ apiURl = `https://bienvenidoainternet.org/cgi/api/thread?dir=${this.props.dir}&id=${this.props.id}`;
+ }
+ console.log(apiURl);
+ fetch(apiURl)
+ .then((response) => { return response.json() })
+ .then((resource => {
+ if (resource["state"] === "error") {
+ console.log("API Error:" + resource["message"]);
+ this.setState({ error: resource });
+ }
+ this.setState({ isLoading: false, thread: resource });
+ }))
+ .catch(console.error);
+ }
+ render() {
+ const { isLoading, error } = this.state;
+
+ if (isLoading) {
+ return (
+
{error.message}
+