about summary refs log tree commit diff
path: root/app/views/filters/_fields.html.haml
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-06-29 15:34:36 +0200
committerGitHub <noreply@github.com>2018-06-29 15:34:36 +0200
commitcdb101340a20183a82889f811d9311c370c855e5 (patch)
treedaacd56d1edbf359b0d97a926e90b999ba7f6129 /app/views/filters/_fields.html.haml
parentfbee9b5ac898e571e384792a92b40fa1524cf127 (diff)
Keyword/phrase filtering (#7905)
* Add keyword filtering

    GET|POST       /api/v1/filters
    GET|PUT|DELETE /api/v1/filters/:id

- Irreversible filters can drop toots from home or notifications
- Other filters can hide toots through the client app
- Filters use a phrase valid in particular contexts, expiration

* Make sure expired filters don't get applied client-side

* Add missing API methods

* Remove "regex filter" from column settings

* Add tests

* Add test for FeedManager

* Add CustomFilter test

* Add UI for managing filters

* Add streaming API event to allow syncing filters

* Fix tests
Diffstat (limited to 'app/views/filters/_fields.html.haml')
-rw-r--r--app/views/filters/_fields.html.haml11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/views/filters/_fields.html.haml b/app/views/filters/_fields.html.haml
new file mode 100644
index 000000000..af5d648b8
--- /dev/null
+++ b/app/views/filters/_fields.html.haml
@@ -0,0 +1,11 @@
+.fields-group
+  = f.input :phrase, as: :string, wrapper: :with_block_label
+
+.fields-group
+  = f.input :context, wrapper: :with_block_label, collection: CustomFilter::VALID_CONTEXTS, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label_method: lambda { |context| I18n.t("filters.contexts.#{context}") }, include_blank: false
+
+.fields-group
+  = f.input :irreversible, wrapper: :with_label
+
+.fields-group
+  = f.input :expires_in, wrapper: :with_label, collection: [30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].map(&:to_i), label_method: lambda { |i| I18n.t("invites.expires_in.#{i}") }, prompt: I18n.t('invites.expires_in_prompt')