0
0
Fork 0

Fix filters not affecting notifications in web UI (#7977)

* Hook up filtering to statuses in notifications column

* Filter notifications for sound, desktop notifications
This commit is contained in:
Eugen Rochko 2018-07-07 19:31:19 +02:00 committed by GitHub
parent cd509d2146
commit cfeb3beb4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 5 deletions

View file

@ -35,10 +35,12 @@ const toServerSideType = columnType => {
}
};
export const getFilters = (state, { contextType }) => state.get('filters', ImmutableList()).filter(filter => contextType && filter.get('context').includes(toServerSideType(contextType)) && (filter.get('expires_at') === null || Date.parse(filter.get('expires_at')) > (new Date())));
const escapeRegExp = string =>
string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
const regexFromFilters = filters => {
export const regexFromFilters = filters => {
if (filters.size === 0) {
return null;
}
@ -53,7 +55,7 @@ export const makeGetStatus = () => {
(state, { id }) => state.getIn(['statuses', state.getIn(['statuses', id, 'reblog'])]),
(state, { id }) => state.getIn(['accounts', state.getIn(['statuses', id, 'account'])]),
(state, { id }) => state.getIn(['accounts', state.getIn(['statuses', state.getIn(['statuses', id, 'reblog']), 'account'])]),
(state, { contextType }) => state.get('filters', ImmutableList()).filter(filter => contextType && filter.get('context').includes(toServerSideType(contextType)) && (filter.get('expires_at') === null || Date.parse(filter.get('expires_at')) > (new Date()))),
getFilters,
],
(statusBase, statusReblog, accountBase, accountReblog, filters) => {