From ea57d1c4a70e93d92d653656f82ce8290038f9a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sat, 26 Mar 2022 10:55:53 +0100 Subject: [PATCH] Fix filtering, allow filtering by mentioned usernames MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- app/soapbox/normalizers/status.ts | 1 + app/soapbox/reducers/statuses.ts | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/soapbox/normalizers/status.ts b/app/soapbox/normalizers/status.ts index 21cdb42bd..9d2322e99 100644 --- a/app/soapbox/normalizers/status.ts +++ b/app/soapbox/normalizers/status.ts @@ -27,6 +27,7 @@ export const StatusRecord = ImmutableRecord({ emojis: ImmutableList(), favourited: false, favourites_count: 0, + filtered: false, in_reply_to_account_id: null, in_reply_to_id: null, id: '', diff --git a/app/soapbox/reducers/statuses.ts b/app/soapbox/reducers/statuses.ts index 059e153da..2f0f4dd0d 100644 --- a/app/soapbox/reducers/statuses.ts +++ b/app/soapbox/reducers/statuses.ts @@ -54,14 +54,20 @@ const getPollOptionTitles = (status: StatusRecord): Array => { return status.poll?.options.map(({ title }: { title: string }) => title); }; +// Gets usernames of mentioned users from status +const getMentionedUsernames = (status: StatusRecord): Array => { + return (status as any).mentions?.map(({ username }: { username: string }) => username); +}; + // Creates search text from the status const buildSearchContent = (status: StatusRecord): string => { const pollOptionTitles = getPollOptionTitles(status); + const mentionedUsernames = getMentionedUsernames(status); const fields = ImmutableList([ status.spoiler_text, status.content, - ]).concat(pollOptionTitles); + ]).concat(pollOptionTitles).concat(mentionedUsernames); return unescapeHTML(fields.join('\n\n')); };