diff options
Diffstat (limited to 'src/modules/statuses.js')
| -rw-r--r-- | src/modules/statuses.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/modules/statuses.js b/src/modules/statuses.js index b0427694..d6bdba65 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -51,13 +51,18 @@ const addStatusesToTimeline = (addedStatuses, showImmediately, { statuses, visib addedStatuses = statusesAndFaves['status'] || [] - // Add some html to the statuses. + // Add some html and nsfw to the statuses. each(addedStatuses, (status) => { const statusoid = status.retweeted_status || status if (statusoid.parsedText === undefined) { // statusoid.parsedText = statusParserService.parse(statusoid) statusoid.parsedText = statusoid.text } + + if (statusoid.nsfw === undefined) { + const nsfwRegex = /#nsfw/i + statusoid.nsfw = statusoid.text.match(nsfwRegex) + } }) const newStatuses = sortBy( @@ -88,7 +93,9 @@ const addStatusesToTimeline = (addedStatuses, showImmediately, { statuses, visib } const updateTimestampsInStatuses = (statuses) => { - return map(statuses, (status) => { + return map(statuses, (statusoid) => { + const status = statusoid.retweeted_status || statusoid + // Parse date status.created_at_parsed = moment(status.created_at).fromNow() return status @@ -110,6 +117,16 @@ const statuses = { }, updateTimestamps (state) { updateTimestampsInStatuses(state.allStatuses) + }, + setNsfw (state, { id, nsfw }) { + // For now, walk through all the statuses because the stuff might be in the replied_to_status + // TODO: Save the replied_tos as references. + each(state.allStatuses, (statusoid) => { + const status = statusoid.retweeted_status || statusoid + if (status.id === id) { + status.nsfw = nsfw + } + }) } } } |
