diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-08-28 22:21:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-28 22:21:55 +0200 |
commit | 7a02c1d9bab8ba004eea54a907782a949ecb3493 (patch) | |
tree | 8bfa0862cb0ef69e452a12d3a4dfb2134b2b574f /app/javascript/flavours/glitch/features/ui/containers | |
parent | 215738bb3cba4951e84174b461da5f1004b0649e (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/containers')
-rw-r--r-- | app/javascript/flavours/glitch/features/ui/containers/status_list_container.js | 18 |
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; |