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

Port front-end part of 20fefdb714 to glitch-soc
master
Thibaut Girka 7 years ago committed by ThibG
parent debc6544d9
commit 7cb7ecaf7e
  1. 13
      app/javascript/flavours/glitch/selectors/index.js

@ -47,7 +47,18 @@ export const regexFromFilters = filters => {
return new RegExp(filters.map(filter => { return new RegExp(filters.map(filter => {
let expr = escapeRegExp(filter.get('phrase')); 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'); }).join('|'), 'i');
}; };

Loading…
Cancel
Save