diff --git a/files/assets/css/main.css b/files/assets/css/main.css index c7b29d0ce..2718cd3ca 100644 --- a/files/assets/css/main.css +++ b/files/assets/css/main.css @@ -5362,37 +5362,6 @@ textarea { .text-removed { color: #ffabab !important; } -.mirrored { - transform: scaleX(-1); -} - -span[alt^=":"][alt*="!"] { - transform: scaleX(-1); -} - -span[alt^=":"][alt*="!!"] { - transform: scaleX(1); -} - -span[alt^=":"][alt*="!!"][alt*="pat"] { - transform: scaleX(-1); -} - -img[alt^=":"][alt*="!!"] { - transform: scaleX(-1); -} - -img[alt^=":"][alt*="!"] { - transform: scaleX(-1); -} - -span[alt^=":"][alt*="!"] > img[alt^=":"][alt*="!"]:not([alt*="genocide"]) { - transform: scaleX(1); -} - -span[alt^=":"][alt*="!!"] > img[alt^=":"][alt*="!"] { - transform: scaleX(-1); -} @media (max-width: 768px) { .popover-bio * { @@ -7729,3 +7698,16 @@ input[type="search"]::-webkit-search-cancel-button { details > *:first-child { margin-top: 1rem; } + +.mirrored { + transform: scaleX(-1); +} +:not(span) > img[alt^=":"][alt*="!"] { + transform: scaleX(-1); +} +span[alt^=":"][alt*="!"]:not([alt*="genocide"]) { + transform: scaleX(-1); +} +img[alt^=":"][alt*="!"][alt*="genocide"] { + transform: scaleX(-1); +} diff --git a/files/assets/js/markdown.js b/files/assets/js/markdown.js index 283bd17ee..f289c38d2 100644 --- a/files/assets/js/markdown.js +++ b/files/assets/js/markdown.js @@ -71,10 +71,9 @@ const MODIFIERS = { LARGE: 3, REVERSED: 4, USER: 5, - REVERSED_MODIFIER: 6, - GENOCIDE: 7, - LOVE: 8, - TYPING: 9, + GENOCIDE: 6, + LOVE: 7, + TYPING: 8, }; const findAllEmojiEndings = (word) => { @@ -170,13 +169,12 @@ function markdown(t) { for(i = 0; i < emojis.length; i++){ const old = emojis[i][0]; if (old.includes('marseyrandom')) continue; - if (old.includes('marseyrandom')) continue + let emoji = old.replace(/[:]/g,'').toLowerCase(); const modifiers = new Set(); let length = emoji.length; - if(emoji.includes('!!')) modifiers.add(MODIFIERS.REVERSED_MODIFIER); emoji = emoji.replaceAll('!', ''); if (length !== emoji.length) { modifiers.add(MODIFIERS.REVERSED); @@ -205,14 +203,11 @@ function markdown(t) { } } - const mirroredClass = 'mirrored'; const genocideClass = modifiers.has(MODIFIERS.GENOCIDE) ? 'cide' : ''; const emojiClass = modifiers.has(MODIFIERS.LARGE) ? 'emoji-lg' : 'emoji'; const patClass = modifiers.has(MODIFIERS.PAT) ? 'pat-preview' : ''; // patted emojis cannot be flipped back easily so they don't support double flipping - const spanClass = modifiers.has(MODIFIERS.REVERSED) && (modifiers.has(MODIFIERS.PAT) || !modifiers.has(MODIFIERS.REVERSED_MODIFIER)) ? mirroredClass : ''; - const imgClass = modifiers.has(MODIFIERS.REVERSED) && modifiers.has(MODIFIERS.REVERSED_MODIFIER) ? mirroredClass : '' const lovedClass = modifiers.has(MODIFIERS.LOVE) ? 'love-preview' : ''; if ([MODIFIERS.TALKING, MODIFIERS.GENOCIDE, MODIFIERS.PAT, MODIFIERS.LOVE, MODIFIERS.TYPING].some((modifer) => modifiers.has(modifer))) { @@ -222,9 +217,9 @@ function markdown(t) { const loveHtml = modifiers.has(MODIFIERS.LOVE) ? `` : ''; const url = modifiers.has(MODIFIERS.USER) ? `/@${emoji}/pic` : `${SITE_FULL_IMAGES}/e/${emoji}.webp`; const modifierHtml = isTalkingFirst ? `${talkingHtml}${patHtml}${loveHtml}${typingHtml}` : `${patHtml}${talkingHtml}${loveHtml}${typingHtml}`; - input = input.replace(old, `${modifierHtml}`); + input = input.replace(old, `${modifierHtml}${old}`); } else { - input = input.replace(old, ``); + input = input.replace(old, `${old}`); } } }