You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.9 KiB
60 lines
1.9 KiB
module.exports = StreamMixin = { |
|
|
|
addPost: function(post) { |
|
|
|
var postid = post.getUsername() + ":post" + post.getId(); |
|
|
|
if (!this.state.postIdentifiers[postid] && this.verifyPost(post)) { |
|
|
|
this.setState(function(previousState, currentProps) { |
|
|
|
previousState.postIdentifiers[postid] = true; |
|
|
|
if (post.isRetwist()){ |
|
|
|
|
|
var postdata = { |
|
username: post.getRetwistedUser(), |
|
retwistingUser: post.getUsername(), |
|
content: post.getRetwistedContent(), |
|
id: post.getRetwistedId(), |
|
timestamp: post.getTimestamp(), |
|
postid: postid, |
|
isRetwist: true |
|
} |
|
|
|
} else { |
|
|
|
var postdata = { |
|
username: post.getUsername(), |
|
content: post.getContent(), |
|
id: post.getId(), |
|
timestamp: post.getTimestamp(), |
|
postid: postid, |
|
isRetwist: false |
|
|
|
} |
|
|
|
} |
|
|
|
previousState.data.push(postdata) |
|
|
|
var compare = function (a,b) { |
|
if (a.timestamp < b.timestamp) |
|
return 1; |
|
if (a.timestamp > b.timestamp) |
|
return -1; |
|
return 0; |
|
} |
|
|
|
previousState.data.sort(compare); |
|
|
|
return {data: previousState.data, postIdentifiers: previousState.postIdentifiers }; |
|
}); |
|
|
|
} else { |
|
|
|
|
|
} |
|
} |
|
} |