diff --git a/src/HTTP/JS/BlueskyAPI.js b/src/HTTP/JS/BlueskyAPI.js index bf7048b..347870f 100644 --- a/src/HTTP/JS/BlueskyAPI.js +++ b/src/HTTP/JS/BlueskyAPI.js @@ -358,21 +358,26 @@ export function ApplyFacets(record, text) { } // Last minute append. SplitAreas.push(text.length); - // Remove emoji regex - let EmojiObjects = text.match(/\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu); let SubtractNumber = 0; - if (EmojiObjects != null) { - SubtractNumber = EmojiObjects.length * 2; - } // Now we split the string for (let i = 1; i < SplitAreas.length; i++) { - StringArray.push(text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i] - SubtractNumber)); + // Remove emoji regex + let TextThing = text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i] - SubtractNumber); + let EmojiObjects = TextThing.match(/\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F/gu); + if (EmojiObjects != null) { + SubtractNumber = SubtractNumber + (EmojiObjects.length * 2); + StringArray.push(text.slice(SplitAreas[i - 1] - SubtractNumber, SplitAreas[i] - SubtractNumber)); + } else { + // If no regex, just send it. + StringArray.push(TextThing); + } } // Finally, we append the string with for (let i = 0; i < StringArray.length; i += 2) { if (Hrefs[(i / 2)] != undefined && Hrefs[(i / 2)].split("https://").length != 1) { TempText += StringArray[i] + "" + StringArray[i + 1] + ""; } else { + // The "last string" TempText += StringArray[i]; } }