Refactor timeline filtering code
This commit is contained in:
parent
b4046dc026
commit
003bb6ca1a
|
@ -10,6 +10,12 @@ const makeEmojiMap = record => record.emojis.reduce((obj, emoji) => {
|
||||||
return obj;
|
return obj;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
|
export function searchTextFromRawStatus (status) {
|
||||||
|
const spoilerText = status.spoiler_text || '';
|
||||||
|
const searchContent = ([spoilerText, status.content].concat((status.poll && status.poll.options) ? status.poll.options.map(option => option.title) : [])).join('\n\n').replace(/<br\s*\/?>/g, '\n').replace(/<\/p><p>/g, '\n\n');
|
||||||
|
return domParser.parseFromString(searchContent, 'text/html').documentElement.textContent;
|
||||||
|
}
|
||||||
|
|
||||||
export function normalizeAccount(account) {
|
export function normalizeAccount(account) {
|
||||||
account = { ...account };
|
account = { ...account };
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,7 @@ import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
|
||||||
import compareId from 'flavours/glitch/util/compare_id';
|
import compareId from 'flavours/glitch/util/compare_id';
|
||||||
import { me, usePendingItems as preferPendingItems } from 'flavours/glitch/util/initial_state';
|
import { me, usePendingItems as preferPendingItems } from 'flavours/glitch/util/initial_state';
|
||||||
import { getFiltersRegex } from 'flavours/glitch/selectors';
|
import { getFiltersRegex } from 'flavours/glitch/selectors';
|
||||||
|
import { searchTextFromRawStatus } from 'flavours/glitch/actions/importer/normalizer';
|
||||||
const domParser = new DOMParser();
|
|
||||||
|
|
||||||
export const TIMELINE_UPDATE = 'TIMELINE_UPDATE';
|
export const TIMELINE_UPDATE = 'TIMELINE_UPDATE';
|
||||||
export const TIMELINE_DELETE = 'TIMELINE_DELETE';
|
export const TIMELINE_DELETE = 'TIMELINE_DELETE';
|
||||||
|
@ -20,12 +19,6 @@ export const TIMELINE_LOAD_PENDING = 'TIMELINE_LOAD_PENDING';
|
||||||
export const TIMELINE_DISCONNECT = 'TIMELINE_DISCONNECT';
|
export const TIMELINE_DISCONNECT = 'TIMELINE_DISCONNECT';
|
||||||
export const TIMELINE_CONNECT = 'TIMELINE_CONNECT';
|
export const TIMELINE_CONNECT = 'TIMELINE_CONNECT';
|
||||||
|
|
||||||
const searchTextFromRawStatus = (status) => {
|
|
||||||
const spoilerText = status.spoiler_text || '';
|
|
||||||
const searchContent = ([spoilerText, status.content].concat((status.poll && status.poll.options) ? status.poll.options.map(option => option.title) : [])).join('\n\n').replace(/<br\s*\/?>/g, '\n').replace(/<\/p><p>/g, '\n\n');
|
|
||||||
return domParser.parseFromString(searchContent, 'text/html').documentElement.textContent;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const loadPending = timeline => ({
|
export const loadPending = timeline => ({
|
||||||
type: TIMELINE_LOAD_PENDING,
|
type: TIMELINE_LOAD_PENDING,
|
||||||
timeline,
|
timeline,
|
||||||
|
|
Reference in New Issue