commit: e90fcb46e3e5bc4144d8777c2267bec638e327a0
parent: f90133d2adecedeb9b9fbc1ca524cdf097272893
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Sun, 11 Dec 2016 22:49:25 +0100
Sensitive content federates using the "nsfw" hashtag
Diffstat:
3 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/app/assets/javascripts/components/components/status_action_bar.jsx b/app/assets/javascripts/components/components/status_action_bar.jsx
@@ -10,7 +10,8 @@ const messages = defineMessages({
block: { id: 'account.block', defaultMessage: 'Block' },
reply: { id: 'status.reply', defaultMessage: 'Reply' },
reblog: { id: 'status.reblog', defaultMessage: 'Reblog' },
- favourite: { id: 'status.favourite', defaultMessage: 'Favourite' }
+ favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },
+ open: { id: 'status.open', defaultMessage: 'Expand' }
});
const StatusActionBar = React.createClass({
@@ -55,10 +56,16 @@ const StatusActionBar = React.createClass({
this.props.onBlock(this.props.status.get('account'));
},
+ handleOpen () {
+ this.context.router.push(`/statuses/${this.props.status.get('id')}`);
+ },
+
render () {
const { status, me, intl } = this.props;
let menu = [];
+ menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen });
+
if (status.getIn(['account', 'id']) === me) {
menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });
} else {
diff --git a/app/helpers/atom_builder_helper.rb b/app/helpers/atom_builder_helper.rb
@@ -53,8 +53,8 @@ module AtomBuilderHelper
xml.author(&block)
end
- def category(xml, tag)
- xml.category(term: tag.name)
+ def category(xml, term)
+ xml.category(term: term)
end
def target(xml, &block)
@@ -203,8 +203,10 @@ module AtomBuilderHelper
end
stream_entry.target.tags.each do |tag|
- category xml, tag
+ category xml, tag.name
end
+
+ category(xml, 'nsfw') if stream_entry.target.sensitive?
end
end
end
@@ -222,8 +224,10 @@ module AtomBuilderHelper
end
stream_entry.activity.tags.each do |tag|
- category xml, tag
+ category xml, tag.name
end
+
+ category(xml, 'nsfw') if stream_entry.activity.sensitive?
end
private
diff --git a/app/services/process_hashtags_service.rb b/app/services/process_hashtags_service.rb
@@ -7,5 +7,7 @@ class ProcessHashtagsService < BaseService
tags.map { |str| str.mb_chars.downcase }.uniq.each do |tag|
status.tags << Tag.where(name: tag).first_or_initialize(name: tag)
end
+
+ status.update(sensitive: true) if tags.include?('nsfw')
end
end