Browse Source

[Glitch] Make whole-word filter regex consistent between Ruby and JS

Port front-end part of 20fefdb714 to glitch-soc
closed-social-glitch-2
Thibaut Girka 5 years ago
committed by ThibG
parent
commit
7cb7ecaf7e
1 changed files with 12 additions and 1 deletions
  1. +12
    -1
      app/javascript/flavours/glitch/selectors/index.js

+ 12
- 1
app/javascript/flavours/glitch/selectors/index.js View File

@ -47,7 +47,18 @@ export const regexFromFilters = filters => {
return new RegExp(filters.map(filter => {
let expr = escapeRegExp(filter.get('phrase'));
return filter.get('whole_word') ? `\\b${expr}\\b` : expr;
if (filter.get('whole_word')) {
if (/^[\w]/.test(expr)) {
expr = `\\b${expr}`;
}
if (/[\w]$/.test(expr)) {
expr = `${expr}\\b`;
}
}
return expr;
}).join('|'), 'i');
};

Loading…
Cancel
Save