aboutsummaryrefslogtreecommitdiff
path: root/src/Post.js
blob: 8260d1fab7250cff533002b55ba5a7c3fe5ce413 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import React from "react";
import { Segment, Header, Image, Label, Icon, Modal } from "semantic-ui-react";
import Moment from "react-moment";
import "moment/locale/es";

const ImageModal = ({ href, trigger }) => (
    <Modal trigger={trigger}>
        <Modal.Content image>
            <Modal.Description>
                <Image as="a" src={href} fluid />
            </Modal.Description>
        </Modal.Content>
    </Modal>
);

const Post = ({ index, post, locked, dir }) => {
    const filesize = require('filesize');
    let user_id = post.timestamp_formatted.split(" ID:")[1];

    return (
        <Segment.Group>
            <Header as="h5" attached>
                #{index + 1} <span className={post.email === "sage" ? "username sage" : "username"}>{post.name}</span><span className="tripcode">{post.tripcode}</span>

                <Header.Subheader className="inlineSubHeader">
                    <Moment fromNow unix locale="es" date={post.timestamp} />
                </Header.Subheader>
                {user_id ? <Label size="mini">{user_id}</Label> : null}
            </Header>

            <Segment.Group horizontal>
                {post.file !== "" ?
                    <Segment compact className="imageSegment">
                        <Label size="tiny" attached='bottom'>{post.file} {post.image_width}x{post.image_height}
                            <Label.Detail>{filesize(post.file_size, { bits: true })}</Label.Detail>
                        </Label>
                        <ImageModal href={`https://bienvenidoainternet.org/${dir}/src/${post.file}`} trigger={<Image fluid src={`https://bienvenidoainternet.org/${dir}/thumb/${post.thumb}`} />} />
                    </Segment> : null}
                <Segment>
                    <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;