blob: 3963a4d02c0f587b59322898abaafbfd7c250b07 (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
import React from "react";
import { Image, Icon, Modal, Comment, Flag } from "semantic-ui-react";
import Moment from "react-moment";
import "moment/locale/es";
import { avatars } from "./Quotes";
const ImageModal = ({ href, trigger }) => (
<Modal trigger={trigger} basic size="fullscreen">
<Modal.Content image>
<Modal.Description style={{ textAlign: "center" }}>
<Image as="a" src={href} />
</Modal.Description>
</Modal.Content>
</Modal>
);
const Post = ({ index, post, locked, threadId, currentBoard }) => {
if (post.IS_DELETED > 0) {
return (
<Comment>
<Comment.Avatar
src={`https://bienvenidoainternet.org/static/css/img/picnicbdy.gif`}
/>
<Comment.Content>
<Comment.Author as="a">
#{currentBoard.board_type === 0 ? post.id : index + 1}
</Comment.Author>
<Comment.Metadata>
<div>
<Moment fromNow unix locale="es" date={post.timestamp} />
</div>
</Comment.Metadata>
<Comment.Text>
<span className="deleted">
Eliminado por el {post.IS_DELETED === 1 ? "usuario." : "Staff."}
</span>
</Comment.Text>
</Comment.Content>
</Comment>
);
}
const filesize = require("filesize");
const seedrandom = require("seedrandom");
const rng = seedrandom(threadId + index);
let user_id = post.timestamp_formatted.split(" ID:")[1];
const i = Math.round(rng() * avatars.length);
const rndAvatar = avatars[i];
let flag;
if (currentBoard.dir === "world") {
flag = post.name.match("[A-Z][A-Z]");
if (flag !== null) {
flag = flag[0].toLowerCase();
} else {
flag = "kp"; // heh
}
}
return (
<Comment>
<Comment.Avatar
src={`https://bienvenidoainternet.org/static/ico/${rndAvatar}.gif`}
/>
<Comment.Content>
<Comment.Author as="a">
#{currentBoard.board_type === 0 ? post.id : index + 1}{" "}
<span
className={post.email === "sage" ? "username sage" : "username"}
>
{currentBoard.dir === "world"
? post.name.split("<em>")[0]
: post.name}{" "}
{currentBoard.dir === "world" ? <Flag name={flag} /> : null}
</span>
<span className="tripcode">{post.tripcode}</span>
</Comment.Author>
<Comment.Metadata>
<div>
<Moment fromNow unix locale="es" date={post.timestamp} />
</div>
<div>
<Icon
name="star"
color={user_id === "CAP_USER*" ? "yellow" : "grey"}
/>
{user_id}
</div>
</Comment.Metadata>
<Comment.Text>
{post.file !== "" ? (
<div className="imageContainer">
<ImageModal
href={`https://bienvenidoainternet.org/${currentBoard.dir}/src/${post.file}`}
trigger={
<Image
centered
className="postImage"
src={`https://bienvenidoainternet.org/${currentBoard.dir}/thumb/${post.thumb}`}
/>
}
/>
{post.file} {post.image_width}x{post.image_height}{" "}
{filesize(post.file_size, { bits: true })}
</div>
) : null}
<div
className={`postMessage ${
currentBoard.dir === "zonavip" ? "vipFont" : null
}`}
dangerouslySetInnerHTML={{ __html: post.message }}
/>
</Comment.Text>
<Comment.Actions>
{locked ? null : <Comment.Action>Responder</Comment.Action>}
<Comment.Action>Reportar</Comment.Action>
</Comment.Actions>
</Comment.Content>
</Comment>
);
};
export default Post;
|