diff --git a/src/components/JustNotSorry.js b/src/components/JustNotSorry.js index ee5abb4..4a33293 100644 --- a/src/components/JustNotSorry.js +++ b/src/components/JustNotSorry.js @@ -45,15 +45,15 @@ class JustNotSorry extends Component { const newWarnings = email.children.length > 0 ? Array.from(email.children) - .filter((node) => node.text !== '') - .flatMap((node) => findRanges(node, patterns)) + .filter((node) => node.textContent !== '') + .flatMap((text) => findRanges(text, patterns)) : findRanges(email, patterns); + this.setState(({ parentNode }) => parentNode.id !== email.parentNode.id ? { parentNode: email.parentNode, warnings: newWarnings } : { parentNode, warnings: newWarnings } ); - this.setState({ parentNode: email.parentNode, warnings: newWarnings }); } handleSearch(email, patterns) { diff --git a/src/helpers/RangeFinder.js b/src/helpers/RangeFinder.js index e540379..e86a737 100644 --- a/src/helpers/RangeFinder.js +++ b/src/helpers/RangeFinder.js @@ -1,12 +1,12 @@ import * as Util from './util'; -function search(email, phrase) { - return Util.match(email, phrase.regex).map((range) => ({ +function search(element, phrase) { + return Util.match(element, phrase.regex).map((range) => ({ message: phrase.message, rangeToHighlight: range, })); } -export function findRanges(element, patternsToFind) { - return patternsToFind.flatMap((pattern) => search(element, pattern)); +export function findRanges(node, patternsToFind) { + return patternsToFind.flatMap((pattern) => search(node, pattern)); }