aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Renard 2019-09-25 23:33:29 -0300
committerLibravatar Renard 2019-09-25 23:33:29 -0300
commit56f23fad45bab476efe6a74f207dfe78470f1b87 (patch)
tree8527e90576bdd863e0ba48df460ca03f2cbc86c6
parent52f3fa7fea2915d9db7d9e97f926ad544ac328c4 (diff)
downloadbai-client-56f23fad45bab476efe6a74f207dfe78470f1b87.tar.gz
bai-client-56f23fad45bab476efe6a74f207dfe78470f1b87.tar.xz
bai-client-56f23fad45bab476efe6a74f207dfe78470f1b87.zip
Registro de posts propios 🔥
-rw-r--r--src/Post.js30
-rw-r--r--src/ReplyForm.js21
2 files changed, 44 insertions, 7 deletions
diff --git a/src/Post.js b/src/Post.js
index 8193ec1..54e56e7 100644
--- a/src/Post.js
+++ b/src/Post.js
@@ -155,6 +155,30 @@ const Post = ({ index, post, locked, threadId, currentBoard, nightMode }) => {
);
const youtubeVideos = post.message.match(youtubeRe);
+ // El post es nuestro?
+ const ownPosts = JSON.parse(localStorage.getItem("ownPosts"));
+ let isMine = false;
+ if (ownPosts !== null) {
+ if (Object.prototype.hasOwnProperty.call(ownPosts, currentBoard.dir)) {
+ ownPosts[currentBoard.dir].forEach(reply => {
+ if (reply.thread_id === post.parentid) {
+ if (reply.reply_id === post.id) {
+ isMine = true;
+ }
+ }
+ });
+ }
+ }
+
+ let starColor;
+ if (user_id === "CAP_USER*") {
+ starColor = "yellow";
+ } else if (isMine) {
+ starColor = "blue";
+ } else {
+ starColor = "gray";
+ }
+
return (
<Comment inverted={nightMode}>
<Comment.Avatar
@@ -182,15 +206,13 @@ const Post = ({ index, post, locked, threadId, currentBoard, nightMode }) => {
<Moment fromNow unix locale="es" date={post.timestamp} />
</div>
<div>
- <Icon
- name="star"
- color={user_id === "CAP_USER*" ? "yellow" : "grey"}
- />
+ <Icon name="star" color={starColor} />
{user_id === "CAP_USER*" ? (
"Usuario verificado"
) : (
<span style={{ color: idColor }}>{user_id}</span>
)}
+ {isMine ? " (Tú)" : null}
</div>
</Comment.Metadata>
<Comment.Text>
diff --git a/src/ReplyForm.js b/src/ReplyForm.js
index 48be8e8..0b01029 100644
--- a/src/ReplyForm.js
+++ b/src/ReplyForm.js
@@ -40,13 +40,15 @@ class ReplyForm extends Component {
{
submittedName: name,
submittedEmail: email,
- submittedMessage: message
+ submittedMessage: message,
+ replyRes: null
},
() => {
const { submittedName, submittedEmail, submittedMessage } = this.state;
+ const { currentBoard, parent } = this.props;
const data = {
- board: this.props.currentBoard.dir,
- parent: this.props.parent,
+ board: currentBoard.dir,
+ parent: parent,
name: "",
email: "",
fielda: submittedName,
@@ -75,6 +77,19 @@ class ReplyForm extends Component {
.then(resource => {
if (resource.state === "success") {
this.setState({ replyRes: resource, message: "" });
+ let ownPosts = JSON.parse(localStorage.getItem("ownPosts"));
+ if (ownPosts === null) {
+ ownPosts = {};
+ }
+ // eslint-disable-next-line no-prototype-builtins
+ if (!ownPosts.hasOwnProperty(currentBoard.dir)) {
+ ownPosts[currentBoard.dir] = [];
+ }
+ ownPosts[currentBoard.dir] = ownPosts[currentBoard.dir].concat({
+ thread_id: parent,
+ reply_id: resource.post_id
+ });
+ localStorage.setItem("ownPosts", JSON.stringify(ownPosts));
}
});
}