about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/ui
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-08-28 22:21:55 +0200
committerGitHub <noreply@github.com>2022-08-28 22:21:55 +0200
commit7a02c1d9bab8ba004eea54a907782a949ecb3493 (patch)
tree8bfa0862cb0ef69e452a12d3a4dfb2134b2b574f /app/javascript/flavours/glitch/features/ui
parent215738bb3cba4951e84174b461da5f1004b0649e (diff)
Add regexp filter field to public timeline column settings (#1834)
* Add regexp filter field to public timeline column settings

This has accidentally been removed while porting an upstream change years ago.

* Remove dead code

* Fix regexp filter not working for local and public TLs when using non-default settings
Diffstat (limited to 'app/javascript/flavours/glitch/features/ui')
-rw-r--r--app/javascript/flavours/glitch/features/ui/containers/status_list_container.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index bd2d2eb4e..0828e3cb0 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -6,8 +6,20 @@ import { createSelector } from 'reselect';
 import { debounce } from 'lodash';
 import { me } from 'flavours/glitch/util/initial_state';
 
+const normalizeTimelineId = timelineId => {
+  if (timelineId.startsWith('public:')) {
+    return 'public';
+  }
+
+  if (timelineId.startsWith('community:')) {
+    return 'community';
+  }
+
+  return timelineId;
+};
+
 const getRegex = createSelector([
-  (state, { type }) => state.getIn(['settings', type, 'regex', 'body']),
+  (state, { type }) => state.getIn(['settings', normalizeTimelineId(type), 'regex', 'body']),
 ], (rawRegex) => {
   let regex = null;
 
@@ -20,13 +32,11 @@ const getRegex = createSelector([
 });
 
 const makeGetStatusIds = (pending = false) => createSelector([
-  (state, { type }) => state.getIn(['settings', type], ImmutableMap()),
+  (state, { type }) => state.getIn(['settings', normalizeTimelineId(type)], ImmutableMap()),
   (state, { type }) => state.getIn(['timelines', type, pending ? 'pendingItems' : 'items'], ImmutableList()),
   (state)           => state.get('statuses'),
   getRegex,
 ], (columnSettings, statusIds, statuses, regex) => {
-  const rawRegex = columnSettings.getIn(['regex', 'body'], '').trim();
-
   return statusIds.filter(id => {
     if (id === null) return true;