aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/BBSThread.js29
-rw-r--r--src/Post.js36
2 files changed, 38 insertions, 27 deletions
diff --git a/src/BBSThread.js b/src/BBSThread.js
index 68fca92..747682b 100644
--- a/src/BBSThread.js
+++ b/src/BBSThread.js
@@ -2,6 +2,7 @@ import React, { Component } from "react";
import { Header, Icon, Loader, Message, Segment, Image, Label } from "semantic-ui-react";
import Moment from "react-moment";
import "moment/locale/es";
+import Post from "./Post";
class BBSThread extends Component {
@@ -76,33 +77,7 @@ class BBSThread extends Component {
{posts.map((post, index) =>
post.IS_DELETED === 0 ?
- (<Segment.Group>
- <Header as="h5" attached>
- #{index + 1} {post.name}
- <Header.Subheader className="inlineSubHeader">
- <Moment fromNow unix locale="es" date={post.timestamp} />
- </Header.Subheader>
- </Header>
-
- <Segment.Group horizontal>
- {post.file != "" ?
- <Segment padded compact className="imageSegment">
- <Label attached='bottom'>{post.file} {post.image_width}x{post.image_height} {filesize(post.file_size, { bits: true })}</Label>
- <Image fluid src={`https://bienvenidoainternet.org/${this.props.dir}/thumb/${post.thumb}`} />
-
- </Segment> : null}
- <Segment padded>
-
- <div className={`postMessage ${this.props.dir === "zonavip" ? "vipFont" : null}`} dangerouslySetInnerHTML={{ __html: post.message }} />
- {locked ? null :
- (<Label attached='bottom right'>
- <Icon name="reply" />Responder
- </Label>)}
-
- </Segment>
- </Segment.Group>
- </Segment.Group>
- ) : null)
+ (<Post key={index} index={index} post={post} locked={locked} dir={this.props.dir} />) : null)
}
<a href={`https://bienvenidoainternet.org/cgi/api/thread?dir=${this.props.dir}&id=${this.props.id}`}>API Link</a>
diff --git a/src/Post.js b/src/Post.js
new file mode 100644
index 0000000..99eadb5
--- /dev/null
+++ b/src/Post.js
@@ -0,0 +1,36 @@
+import React from "react";
+import { Segment, Header, Image, Label, Icon } from "semantic-ui-react";
+import Moment from "react-moment";
+import "moment/locale/es";
+
+const Post = ({ index, post, locked, dir }) => {
+ const filesize = require('filesize');
+ return (
+ <Segment.Group>
+ <Header as="h5" attached>
+ #{index + 1} {post.name}
+ <Header.Subheader className="inlineSubHeader">
+ <Moment fromNow unix locale="es" date={post.timestamp} />
+ </Header.Subheader>
+ </Header>
+
+ <Segment.Group horizontal>
+ {post.file != "" ?
+ <Segment padded compact className="imageSegment">
+ <Label attached='bottom'>{post.file} {post.image_width}x{post.image_height} {filesize(post.file_size, { bits: true })}</Label>
+ <Image fluid src={`https://bienvenidoainternet.org/${dir}/thumb/${post.thumb}`} />
+
+ </Segment> : null}
+ <Segment padded>
+
+ <div className={`postMessage ${dir === "zonavip" ? "vipFont" : null}`} dangerouslySetInnerHTML={{ __html: post.message }} />
+ {locked ? null :
+ (<Label attached='bottom right'>
+ <Icon name="reply" />Responder
+ </Label>)}
+ </Segment>
+ </Segment.Group>
+ </Segment.Group>);
+}
+
+export default Post; \ No newline at end of file