diff --git a/frontend_nuxt/components/BaseTimeline.vue b/frontend_nuxt/components/BaseTimeline.vue index 6ac05331f..d381c6783 100644 --- a/frontend_nuxt/components/BaseTimeline.vue +++ b/frontend_nuxt/components/BaseTimeline.vue @@ -8,7 +8,7 @@ > timeline item - {{ item.emoji }} + emoji
{{ item.content }} @@ -74,8 +74,9 @@ export default { } .timeline-emoji { - font-size: 20px; - line-height: 1; + width: 20px; + height: 20px; + object-fit: contain; } .timeline-item::before { diff --git a/frontend_nuxt/components/ReactionsGroup.vue b/frontend_nuxt/components/ReactionsGroup.vue index 8465270ff..ac0996b77 100644 --- a/frontend_nuxt/components/ReactionsGroup.vue +++ b/frontend_nuxt/components/ReactionsGroup.vue @@ -9,7 +9,7 @@ > @@ -40,7 +40,9 @@ @click="toggleReaction(t)" :class="{ selected: userReacted(t) }" > - {{ reactionEmojiMap[t] }}{{ counts[t] }} + emoji{{ + counts[t] + }}
diff --git a/frontend_nuxt/utils/reactions.js b/frontend_nuxt/utils/reactions.js index 15d59cadd..1fca94cb0 100644 --- a/frontend_nuxt/utils/reactions.js +++ b/frontend_nuxt/utils/reactions.js @@ -1,25 +1,32 @@ -export const reactionEmojiMap = { - LIKE: '❀️', - DISLIKE: 'πŸ‘Ž', - RECOMMEND: 'πŸ‘', - ANGRY: '😑', - FLUSHED: '😳', - STAR_STRUCK: '🀩', - ROFL: '🀣', - HOLDING_BACK_TEARS: 'πŸ₯Ή', - MIND_BLOWN: '🀯', - POOP: 'πŸ’©', - CLOWN: '🀑', - SKULL: '☠️', - FIRE: 'πŸ”₯', - EYES: 'πŸ‘€', - FROWN: '☹️', - HOT: 'πŸ₯΅', - EAGLE: 'πŸ¦…', - SPIDER: 'πŸ•·οΈ', - BAT: 'πŸ¦‡', - CHINA: 'πŸ‡¨πŸ‡³', - USA: 'πŸ‡ΊπŸ‡Έ', - JAPAN: 'πŸ‡―πŸ‡΅', - KOREA: 'πŸ‡°πŸ‡·', +const toCdnUrl = (emoji) => { + const codepoints = Array.from(emoji) + .map((c) => c.codePointAt(0).toString(16)) + .join('_') + return `https://fonts.gstatic.com/s/e/notoemoji/latest/${codepoints}/emoji.svg` +} + +export const reactionEmojiMap = { + LIKE: toCdnUrl('❀️'), + DISLIKE: toCdnUrl('πŸ‘Ž'), + RECOMMEND: toCdnUrl('πŸ‘'), + ANGRY: toCdnUrl('😑'), + FLUSHED: toCdnUrl('😳'), + STAR_STRUCK: toCdnUrl('🀩'), + ROFL: toCdnUrl('🀣'), + HOLDING_BACK_TEARS: toCdnUrl('πŸ₯Ή'), + MIND_BLOWN: toCdnUrl('🀯'), + POOP: toCdnUrl('πŸ’©'), + CLOWN: toCdnUrl('🀑'), + SKULL: toCdnUrl('☠️'), + FIRE: toCdnUrl('πŸ”₯'), + EYES: toCdnUrl('πŸ‘€'), + FROWN: toCdnUrl('☹️'), + HOT: toCdnUrl('πŸ₯΅'), + EAGLE: toCdnUrl('πŸ¦…'), + SPIDER: toCdnUrl('πŸ•·οΈ'), + BAT: toCdnUrl('πŸ¦‡'), + CHINA: toCdnUrl('πŸ‡¨πŸ‡³'), + USA: toCdnUrl('πŸ‡ΊπŸ‡Έ'), + JAPAN: toCdnUrl('πŸ‡―πŸ‡΅'), + KOREA: toCdnUrl('πŸ‡°πŸ‡·'), }