From 8431b6664601a3e4d14642312685955c697b28fc Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 24 Feb 2021 15:40:36 +0100 Subject: [PATCH 01/14] Added discord link --- src/pages/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pages/index.js b/src/pages/index.js index 4dcc39d..2bd4caf 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -15,6 +15,10 @@ const links = { href: '/install', text: 'Install', }, + discord: { + href: '/discord', + text: 'Discord', + }, irc: { href: '/irc', text: 'IRC chat', From 599ef00635c15d500dfcc1a9c226212000e74707 Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 24 Feb 2021 15:41:07 +0100 Subject: [PATCH 02/14] removed empty line --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 475b938..7c8ed23 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ node_modules/ .next/ out/ - From 8e0c03ba360f79c6dbbab30b7f0166fce3174529 Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 24 Feb 2021 17:38:58 +0100 Subject: [PATCH 03/14] gitignore added public dir --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7c8ed23..2c8e1d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ .next/ out/ +public/ From 62b35eac68bbadab093a607ef8ceef1c272b3b7e Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 3 Mar 2021 14:40:20 +0100 Subject: [PATCH 04/14] Removed discord link --- src/pages/index.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/pages/index.js b/src/pages/index.js index 2bd4caf..4dcc39d 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -15,10 +15,6 @@ const links = { href: '/install', text: 'Install', }, - discord: { - href: '/discord', - text: 'Discord', - }, irc: { href: '/irc', text: 'IRC chat', From 64697efc96a3e0f83ed82b0d6d14870db5cd2817 Mon Sep 17 00:00:00 2001 From: mrfry Date: Wed, 3 Mar 2021 18:45:12 +0100 Subject: [PATCH 05/14] Added reactions on news items --- .eslintrc.js | 2 +- src/components/newsEntry.js | 29 + src/components/newsEntry.module.css | 26 + src/components/reactButton.js | 109 + src/components/reactButton.module.css | 37 + src/components/tooltip.js | 13 + src/components/tooltip.module.css | 28 + src/data/reactions.json | 5417 +++++++++++++++++++++++++ src/pages/index.js | 111 +- src/pages/index.module.css | 26 - 10 files changed, 5711 insertions(+), 87 deletions(-) create mode 100644 src/components/newsEntry.js create mode 100644 src/components/newsEntry.module.css create mode 100644 src/components/reactButton.js create mode 100644 src/components/reactButton.module.css create mode 100644 src/components/tooltip.js create mode 100644 src/components/tooltip.module.css create mode 100644 src/data/reactions.json diff --git a/.eslintrc.js b/.eslintrc.js index 6d44a27..f572f7a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -18,7 +18,7 @@ module.exports = { 'no-prototype-builtins': 'off', 'id-length': [ 'warn', - { exceptions: ['x', 'i', 'j', 't', 'Q', 'A', 'C', 'q', 'a', 'b'] }, + { exceptions: ['x', 'i', 'j', 't', 'Q', 'A', 'C', 'q', 'a', 'b', 'e'] }, ], }, root: true, diff --git a/src/components/newsEntry.js b/src/components/newsEntry.js new file mode 100644 index 0000000..58228d2 --- /dev/null +++ b/src/components/newsEntry.js @@ -0,0 +1,29 @@ +import React from 'react' + +import ReactButton from './reactButton.js' + +import styles from './newsEntry.module.css' + +export default function NewsEntry({ newsKey, newsItem, uid, onReact }) { + return ( +
+
+
{newsKey} :
+
+
+
+ +
+
+ ) +} diff --git a/src/components/newsEntry.module.css b/src/components/newsEntry.module.css new file mode 100644 index 0000000..7ac797b --- /dev/null +++ b/src/components/newsEntry.module.css @@ -0,0 +1,26 @@ +.newsBody { + margin: 0px 5px; + font-size: 18px; + color: #fff; +} + +.newsTitle { + font-size: 28px; + color: var(--text-color); + margin: 0px 5px; +} + +.itemNumber { + color: #fff; + margin: 0px 5px; + font-size: 24px; +} + +.newsContainer { + margin: 20px 5px; +} + +.newsContainer img { + max-width: 100%; + min-width: 200px; +} diff --git a/src/components/reactButton.js b/src/components/reactButton.js new file mode 100644 index 0000000..1937463 --- /dev/null +++ b/src/components/reactButton.js @@ -0,0 +1,109 @@ +import React, { useState } from 'react' + +import Tooltip from './tooltip.js' + +import styles from './reactButton.module.css' +import reactions from '../data/reactions.json' + +const breakEvery = 7 + +function ExistingReacts({ existingReacts, onClick, uid }) { + return ( +
+
React
+ {existingReacts && + Object.keys(existingReacts).map((key) => { + const currReact = existingReacts[key] + const react = reactions[key] + if (!react) { + return null + } + return ( +
{ + onClick(key, currReact.includes(uid)) + }} + > + {react.emoji} {currReact.length} +
+ ) + })} +
+ ) +} + +function RenderEmojis({ onClick }) { + const [search, setSearch] = useState('') + + let index = 0 + return ( + <> + { + setSearch(event.target.value) + }} + /> + {Object.keys(reactions).map((key) => { + const reaction = reactions[key] + if (!key.includes(search.toLowerCase())) { + return null + } + return ( + <> + {index++ % breakEvery === 0 && ( +
+ )} +
{ + onClick(key) + }} + > + {reaction.emoji} +
+ + ) + })} + + ) +} + +export default function ReactButton({ onClick, existingReacts, uid }) { + const [opened, setOpened] = useState(false) + + return ( +
{ + setOpened(true) + }} + onMouseLeave={() => { + setOpened(false) + }} + > + ( + + )} + > +
+ { + // setOpened(false) + onClick(e) + }} + /> +
+
+
+ ) +} diff --git a/src/components/reactButton.module.css b/src/components/reactButton.module.css new file mode 100644 index 0000000..03217c8 --- /dev/null +++ b/src/components/reactButton.module.css @@ -0,0 +1,37 @@ +.reactionContainer { + display: flex; + flex-wrap: wrap; +} + +.reactionContainer > input { + width: 100%; + background-color: var(--background-color); + color: var(--text-color); + border: none; + border-radius: 3px; + margin: 2px 5px; + font-size: 16px; +} + +.reactionContainer > div { + margin: 2px 2px; + padding: 0px 8px; + background-color: #444; + border-radius: 6px; + cursor: pointer; + + font-size: 18px; +} + +.reactionContainer > div:hover { + background-color: #666; +} + +.break { + flex-basis: 100%; + height: 0; +} + +.reacted { + color: yellow; +} diff --git a/src/components/tooltip.js b/src/components/tooltip.js new file mode 100644 index 0000000..a629003 --- /dev/null +++ b/src/components/tooltip.js @@ -0,0 +1,13 @@ +import React from 'react' +import styles from './tooltip.module.css' + +export default function Tooltip({ children, text, opened }) { + return ( +
+
+ {text()} + {opened && {children}} +
+
+ ) +} diff --git a/src/components/tooltip.module.css b/src/components/tooltip.module.css new file mode 100644 index 0000000..59d5723 --- /dev/null +++ b/src/components/tooltip.module.css @@ -0,0 +1,28 @@ +.tooltip { + position: relative; + display: inline-block; + border-bottom: 1px dotted black; +} + +.tooltip .tooltiptext { + width: 280px; + height: 250px; + max-width: 280px; + max-height: 250px; + background-color: #555; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px; + position: absolute; + z-index: 1; + bottom: 100%; + left: 0%; + margin-left: -60px; + transition: opacity 0.3s; + + overflow-y: scroll; +} + +.container { +} diff --git a/src/data/reactions.json b/src/data/reactions.json new file mode 100644 index 0000000..4cc4d06 --- /dev/null +++ b/src/data/reactions.json @@ -0,0 +1,5417 @@ +{ + "grinning face": { + "emoji": "😀" + }, + "grinning face with big eyes": { + "emoji": "😃" + }, + "grinning face with smiling eyes": { + "emoji": "😄" + }, + "beaming face with smiling eyes": { + "emoji": "😁" + }, + "grinning squinting face": { + "emoji": "😆" + }, + "grinning face with sweat": { + "emoji": "😅" + }, + "rolling on the floor laughing": { + "emoji": "🤣" + }, + "face with tears of joy": { + "emoji": "😂" + }, + "slightly smiling face": { + "emoji": "🙂" + }, + "upside-down face": { + "emoji": "🙃" + }, + "winking face": { + "emoji": "😉" + }, + "smiling face with smiling eyes": { + "emoji": "😊" + }, + "smiling face with halo": { + "emoji": "😇" + }, + "smiling face with hearts": { + "emoji": "🥰" + }, + "smiling face with heart-eyes": { + "emoji": "😍" + }, + "star-struck": { + "emoji": "🤩" + }, + "face blowing a kiss": { + "emoji": "😘" + }, + "kissing face": { + "emoji": "😗" + }, + "smiling face": { + "emoji": "☺️" + }, + "kissing face with closed eyes": { + "emoji": "😚" + }, + "kissing face with smiling eyes": { + "emoji": "😙" + }, + "smiling face with tear": { + "emoji": "🥲" + }, + "face savoring food": { + "emoji": "😋" + }, + "face with tongue": { + "emoji": "😛" + }, + "winking face with tongue": { + "emoji": "😜" + }, + "zany face": { + "emoji": "🤪" + }, + "squinting face with tongue": { + "emoji": "😝" + }, + "money-mouth face": { + "emoji": "🤑" + }, + "hugging face": { + "emoji": "🤗" + }, + "face with hand over mouth": { + "emoji": "🤭" + }, + "shushing face": { + "emoji": "🤫" + }, + "thinking face": { + "emoji": "🤔" + }, + "zipper-mouth face": { + "emoji": "🤐" + }, + "face with raised eyebrow": { + "emoji": "🤨" + }, + "neutral face": { + "emoji": "😐" + }, + "expressionless face": { + "emoji": "😑" + }, + "face without mouth": { + "emoji": "😶" + }, + "smirking face": { + "emoji": "😏" + }, + "unamused face": { + "emoji": "😒" + }, + "face with rolling eyes": { + "emoji": "🙄" + }, + "grimacing face": { + "emoji": "😬" + }, + "lying face": { + "emoji": "🤥" + }, + "relieved face": { + "emoji": "😌" + }, + "pensive face": { + "emoji": "😔" + }, + "sleepy face": { + "emoji": "😪" + }, + "drooling face": { + "emoji": "🤤" + }, + "sleeping face": { + "emoji": "😴" + }, + "face with medical mask": { + "emoji": "😷" + }, + "face with thermometer": { + "emoji": "🤒" + }, + "face with head-bandage": { + "emoji": "🤕" + }, + "nauseated face": { + "emoji": "🤢" + }, + "face vomiting": { + "emoji": "🤮" + }, + "sneezing face": { + "emoji": "🤧" + }, + "hot face": { + "emoji": "🥵" + }, + "cold face": { + "emoji": "🥶" + }, + "woozy face": { + "emoji": "🥴" + }, + "dizzy face": { + "emoji": "😵" + }, + "exploding head": { + "emoji": "🤯" + }, + "cowboy hat face": { + "emoji": "🤠" + }, + "partying face": { + "emoji": "🥳" + }, + "disguised face": { + "emoji": "🥸" + }, + "smiling face with sunglasses": { + "emoji": "😎" + }, + "nerd face": { + "emoji": "🤓" + }, + "face with monocle": { + "emoji": "🧐" + }, + "confused face": { + "emoji": "😕" + }, + "worried face": { + "emoji": "😟" + }, + "slightly frowning face": { + "emoji": "🙁" + }, + "frowning face": { + "emoji": "☹️" + }, + "face with open mouth": { + "emoji": "😮" + }, + "hushed face": { + "emoji": "😯" + }, + "astonished face": { + "emoji": "😲" + }, + "flushed face": { + "emoji": "😳" + }, + "pleading face": { + "emoji": "🥺" + }, + "frowning face with open mouth": { + "emoji": "😦" + }, + "anguished face": { + "emoji": "😧" + }, + "fearful face": { + "emoji": "😨" + }, + "anxious face with sweat": { + "emoji": "😰" + }, + "sad but relieved face": { + "emoji": "😥" + }, + "crying face": { + "emoji": "😢" + }, + "loudly crying face": { + "emoji": "😭" + }, + "face screaming in fear": { + "emoji": "😱" + }, + "confounded face": { + "emoji": "😖" + }, + "persevering face": { + "emoji": "😣" + }, + "disappointed face": { + "emoji": "😞" + }, + "downcast face with sweat": { + "emoji": "😓" + }, + "weary face": { + "emoji": "😩" + }, + "tired face": { + "emoji": "😫" + }, + "yawning face": { + "emoji": "🥱" + }, + "face with steam from nose": { + "emoji": "😤" + }, + "pouting face": { + "emoji": "😡" + }, + "angry face": { + "emoji": "😠" + }, + "face with symbols on mouth": { + "emoji": "🤬" + }, + "smiling face with horns": { + "emoji": "😈" + }, + "angry face with horns": { + "emoji": "👿" + }, + "skull": { + "emoji": "💀" + }, + "skull and crossbones": { + "emoji": "☠️" + }, + "pile of poo": { + "emoji": "💩" + }, + "clown face": { + "emoji": "🤡" + }, + "ogre": { + "emoji": "👹" + }, + "goblin": { + "emoji": "👺" + }, + "ghost": { + "emoji": "👻" + }, + "alien": { + "emoji": "👽" + }, + "alien monster": { + "emoji": "👾" + }, + "robot": { + "emoji": "🤖" + }, + "grinning cat": { + "emoji": "😺" + }, + "grinning cat with smiling eyes": { + "emoji": "😸" + }, + "cat with tears of joy": { + "emoji": "😹" + }, + "smiling cat with heart-eyes": { + "emoji": "😻" + }, + "cat with wry smile": { + "emoji": "😼" + }, + "kissing cat": { + "emoji": "😽" + }, + "weary cat": { + "emoji": "🙀" + }, + "crying cat": { + "emoji": "😿" + }, + "pouting cat": { + "emoji": "😾" + }, + "see-no-evil monkey": { + "emoji": "🙈" + }, + "hear-no-evil monkey": { + "emoji": "🙉" + }, + "speak-no-evil monkey": { + "emoji": "🙊" + }, + "kiss mark": { + "emoji": "💋" + }, + "love letter": { + "emoji": "💌" + }, + "heart with arrow": { + "emoji": "💘" + }, + "heart with ribbon": { + "emoji": "💝" + }, + "sparkling heart": { + "emoji": "💖" + }, + "growing heart": { + "emoji": "💗" + }, + "beating heart": { + "emoji": "💓" + }, + "revolving hearts": { + "emoji": "💞" + }, + "two hearts": { + "emoji": "💕" + }, + "heart decoration": { + "emoji": "💟" + }, + "heart exclamation": { + "emoji": "❣️" + }, + "broken heart": { + "emoji": "💔" + }, + "red heart": { + "emoji": "❤️" + }, + "orange heart": { + "emoji": "🧡" + }, + "yellow heart": { + "emoji": "💛" + }, + "green heart": { + "emoji": "💚" + }, + "blue heart": { + "emoji": "💙" + }, + "purple heart": { + "emoji": "💜" + }, + "brown heart": { + "emoji": "🤎" + }, + "black heart": { + "emoji": "🖤" + }, + "white heart": { + "emoji": "🤍" + }, + "hundred points": { + "emoji": "💯" + }, + "anger symbol": { + "emoji": "💢" + }, + "collision": { + "emoji": "💥" + }, + "dizzy": { + "emoji": "💫" + }, + "sweat droplets": { + "emoji": "💦" + }, + "dashing away": { + "emoji": "💨" + }, + "hole": { + "emoji": "🕳️" + }, + "bomb": { + "emoji": "💣" + }, + "speech balloon": { + "emoji": "💬" + }, + "eye in speech bubble": { + "emoji": "👁️‍🗨️" + }, + "left speech bubble": { + "emoji": "🗨️" + }, + "right anger bubble": { + "emoji": "🗯️" + }, + "thought balloon": { + "emoji": "💭" + }, + "zzz": { + "emoji": "💤" + }, + "waving hand": { + "emoji": "👋" + }, + "raised back of hand": { + "emoji": "🤚" + }, + "hand with fingers splayed": { + "emoji": "🖐️" + }, + "raised hand": { + "emoji": "✋" + }, + "vulcan salute": { + "emoji": "🖖" + }, + "OK hand": { + "emoji": "👌" + }, + "pinched fingers": { + "emoji": "🤌" + }, + "pinching hand": { + "emoji": "🤏" + }, + "victory hand": { + "emoji": "✌️" + }, + "crossed fingers": { + "emoji": "🤞" + }, + "love-you gesture": { + "emoji": "🤟" + }, + "sign of the horns": { + "emoji": "🤘" + }, + "call me hand": { + "emoji": "🤙" + }, + "backhand index pointing left": { + "emoji": "👈" + }, + "backhand index pointing right": { + "emoji": "👉" + }, + "backhand index pointing up": { + "emoji": "👆" + }, + "middle finger": { + "emoji": "🖕" + }, + "backhand index pointing down": { + "emoji": "👇" + }, + "index pointing up": { + "emoji": "☝️" + }, + "thumbs up": { + "emoji": "👍" + }, + "thumbs down": { + "emoji": "👎" + }, + "raised fist": { + "emoji": "✊" + }, + "oncoming fist": { + "emoji": "👊" + }, + "left-facing fist": { + "emoji": "🤛" + }, + "right-facing fist": { + "emoji": "🤜" + }, + "clapping hands": { + "emoji": "👏" + }, + "raising hands": { + "emoji": "🙌" + }, + "open hands": { + "emoji": "👐" + }, + "palms up together": { + "emoji": "🤲" + }, + "handshake": { + "emoji": "🤝" + }, + "folded hands": { + "emoji": "🙏" + }, + "writing hand": { + "emoji": "✍️" + }, + "nail polish": { + "emoji": "💅" + }, + "selfie": { + "emoji": "🤳" + }, + "flexed biceps": { + "emoji": "💪" + }, + "mechanical arm": { + "emoji": "🦾" + }, + "mechanical leg": { + "emoji": "🦿" + }, + "leg": { + "emoji": "🦵" + }, + "foot": { + "emoji": "🦶" + }, + "ear": { + "emoji": "👂" + }, + "ear with hearing aid": { + "emoji": "🦻" + }, + "nose": { + "emoji": "👃" + }, + "brain": { + "emoji": "🧠" + }, + "anatomical heart": { + "emoji": "🫀" + }, + "lungs": { + "emoji": "🫁" + }, + "tooth": { + "emoji": "🦷" + }, + "bone": { + "emoji": "🦴" + }, + "eyes": { + "emoji": "👀" + }, + "eye": { + "emoji": "👁️" + }, + "tongue": { + "emoji": "👅" + }, + "mouth": { + "emoji": "👄" + }, + "baby": { + "emoji": "👶" + }, + "child": { + "emoji": "🧒" + }, + "boy": { + "emoji": "👦" + }, + "girl": { + "emoji": "👧" + }, + "person": { + "emoji": "🧑" + }, + "person: blond hair": { + "emoji": "👱" + }, + "man": { + "emoji": "👨" + }, + "man: beard": { + "emoji": "🧔" + }, + "man: red hair": { + "emoji": "👨‍🦰" + }, + "man: curly hair": { + "emoji": "👨‍🦱" + }, + "man: white hair": { + "emoji": "👨‍🦳" + }, + "man: bald": { + "emoji": "👨‍🦲" + }, + "woman": { + "emoji": "👩" + }, + "woman: red hair": { + "emoji": "👩‍🦰" + }, + "person: red hair": { + "emoji": "🧑‍🦰" + }, + "woman: curly hair": { + "emoji": "👩‍🦱" + }, + "person: curly hair": { + "emoji": "🧑‍🦱" + }, + "woman: white hair": { + "emoji": "👩‍🦳" + }, + "person: white hair": { + "emoji": "🧑‍🦳" + }, + "woman: bald": { + "emoji": "👩‍🦲" + }, + "person: bald": { + "emoji": "🧑‍🦲" + }, + "woman: blond hair": { + "emoji": "👱‍♀️" + }, + "man: blond hair": { + "emoji": "👱‍♂️" + }, + "older person": { + "emoji": "🧓" + }, + "old man": { + "emoji": "👴" + }, + "old woman": { + "emoji": "👵" + }, + "person frowning": { + "emoji": "🙍" + }, + "man frowning": { + "emoji": "🙍‍♂️" + }, + "woman frowning": { + "emoji": "🙍‍♀️" + }, + "person pouting": { + "emoji": "🙎" + }, + "man pouting": { + "emoji": "🙎‍♂️" + }, + "woman pouting": { + "emoji": "🙎‍♀️" + }, + "person gesturing NO": { + "emoji": "🙅" + }, + "man gesturing NO": { + "emoji": "🙅‍♂️" + }, + "woman gesturing NO": { + "emoji": "🙅‍♀️" + }, + "person gesturing OK": { + "emoji": "🙆" + }, + "man gesturing OK": { + "emoji": "🙆‍♂️" + }, + "woman gesturing OK": { + "emoji": "🙆‍♀️" + }, + "person tipping hand": { + "emoji": "💁" + }, + "man tipping hand": { + "emoji": "💁‍♂️" + }, + "woman tipping hand": { + "emoji": "💁‍♀️" + }, + "person raising hand": { + "emoji": "🙋" + }, + "man raising hand": { + "emoji": "🙋‍♂️" + }, + "woman raising hand": { + "emoji": "🙋‍♀️" + }, + "deaf person": { + "emoji": "🧏" + }, + "deaf man": { + "emoji": "🧏‍♂️" + }, + "deaf woman": { + "emoji": "🧏‍♀️" + }, + "person bowing": { + "emoji": "🙇" + }, + "man bowing": { + "emoji": "🙇‍♂️" + }, + "woman bowing": { + "emoji": "🙇‍♀️" + }, + "person facepalming": { + "emoji": "🤦" + }, + "man facepalming": { + "emoji": "🤦‍♂️" + }, + "woman facepalming": { + "emoji": "🤦‍♀️" + }, + "person shrugging": { + "emoji": "🤷" + }, + "man shrugging": { + "emoji": "🤷‍♂️" + }, + "woman shrugging": { + "emoji": "🤷‍♀️" + }, + "health worker": { + "emoji": "🧑‍⚕️" + }, + "man health worker": { + "emoji": "👨‍⚕️" + }, + "woman health worker": { + "emoji": "👩‍⚕️" + }, + "student": { + "emoji": "🧑‍🎓" + }, + "man student": { + "emoji": "👨‍🎓" + }, + "woman student": { + "emoji": "👩‍🎓" + }, + "teacher": { + "emoji": "🧑‍🏫" + }, + "man teacher": { + "emoji": "👨‍🏫" + }, + "woman teacher": { + "emoji": "👩‍🏫" + }, + "judge": { + "emoji": "🧑‍⚖️" + }, + "man judge": { + "emoji": "👨‍⚖️" + }, + "woman judge": { + "emoji": "👩‍⚖️" + }, + "farmer": { + "emoji": "🧑‍🌾" + }, + "man farmer": { + "emoji": "👨‍🌾" + }, + "woman farmer": { + "emoji": "👩‍🌾" + }, + "cook": { + "emoji": "🧑‍🍳" + }, + "man cook": { + "emoji": "👨‍🍳" + }, + "woman cook": { + "emoji": "👩‍🍳" + }, + "mechanic": { + "emoji": "🧑‍🔧" + }, + "man mechanic": { + "emoji": "👨‍🔧" + }, + "woman mechanic": { + "emoji": "👩‍🔧" + }, + "factory worker": { + "emoji": "🧑‍🏭" + }, + "man factory worker": { + "emoji": "👨‍🏭" + }, + "woman factory worker": { + "emoji": "👩‍🏭" + }, + "office worker": { + "emoji": "🧑‍💼" + }, + "man office worker": { + "emoji": "👨‍💼" + }, + "woman office worker": { + "emoji": "👩‍💼" + }, + "scientist": { + "emoji": "🧑‍🔬" + }, + "man scientist": { + "emoji": "👨‍🔬" + }, + "woman scientist": { + "emoji": "👩‍🔬" + }, + "technologist": { + "emoji": "🧑‍💻" + }, + "man technologist": { + "emoji": "👨‍💻" + }, + "woman technologist": { + "emoji": "👩‍💻" + }, + "singer": { + "emoji": "🧑‍🎤" + }, + "man singer": { + "emoji": "👨‍🎤" + }, + "woman singer": { + "emoji": "👩‍🎤" + }, + "artist": { + "emoji": "🧑‍🎨" + }, + "man artist": { + "emoji": "👨‍🎨" + }, + "woman artist": { + "emoji": "👩‍🎨" + }, + "pilot": { + "emoji": "🧑‍✈️" + }, + "man pilot": { + "emoji": "👨‍✈️" + }, + "woman pilot": { + "emoji": "👩‍✈️" + }, + "astronaut": { + "emoji": "🧑‍🚀" + }, + "man astronaut": { + "emoji": "👨‍🚀" + }, + "woman astronaut": { + "emoji": "👩‍🚀" + }, + "firefighter": { + "emoji": "🧑‍🚒" + }, + "man firefighter": { + "emoji": "👨‍🚒" + }, + "woman firefighter": { + "emoji": "👩‍🚒" + }, + "police officer": { + "emoji": "👮" + }, + "man police officer": { + "emoji": "👮‍♂️" + }, + "woman police officer": { + "emoji": "👮‍♀️" + }, + "detective": { + "emoji": "🕵️" + }, + "man detective": { + "emoji": "🕵️‍♂️" + }, + "woman detective": { + "emoji": "🕵️‍♀️" + }, + "guard": { + "emoji": "💂" + }, + "man guard": { + "emoji": "💂‍♂️" + }, + "woman guard": { + "emoji": "💂‍♀️" + }, + "ninja": { + "emoji": "🥷" + }, + "construction worker": { + "emoji": "👷" + }, + "man construction worker": { + "emoji": "👷‍♂️" + }, + "woman construction worker": { + "emoji": "👷‍♀️" + }, + "prince": { + "emoji": "🤴" + }, + "princess": { + "emoji": "👸" + }, + "person wearing turban": { + "emoji": "👳" + }, + "man wearing turban": { + "emoji": "👳‍♂️" + }, + "woman wearing turban": { + "emoji": "👳‍♀️" + }, + "person with skullcap": { + "emoji": "👲" + }, + "woman with headscarf": { + "emoji": "🧕" + }, + "person in tuxedo": { + "emoji": "🤵" + }, + "man in tuxedo": { + "emoji": "🤵‍♂️" + }, + "woman in tuxedo": { + "emoji": "🤵‍♀️" + }, + "person with veil": { + "emoji": "👰" + }, + "man with veil": { + "emoji": "👰‍♂️" + }, + "woman with veil": { + "emoji": "👰‍♀️" + }, + "pregnant woman": { + "emoji": "🤰" + }, + "breast-feeding": { + "emoji": "🤱" + }, + "woman feeding baby": { + "emoji": "👩‍🍼" + }, + "man feeding baby": { + "emoji": "👨‍🍼" + }, + "person feeding baby": { + "emoji": "🧑‍🍼" + }, + "baby angel": { + "emoji": "👼" + }, + "Santa Claus": { + "emoji": "🎅" + }, + "Mrs. Claus": { + "emoji": "🤶" + }, + "mx claus": { + "emoji": "🧑‍🎄" + }, + "superhero": { + "emoji": "🦸" + }, + "man superhero": { + "emoji": "🦸‍♂️" + }, + "woman superhero": { + "emoji": "🦸‍♀️" + }, + "supervillain": { + "emoji": "🦹" + }, + "man supervillain": { + "emoji": "🦹‍♂️" + }, + "woman supervillain": { + "emoji": "🦹‍♀️" + }, + "mage": { + "emoji": "🧙" + }, + "man mage": { + "emoji": "🧙‍♂️" + }, + "woman mage": { + "emoji": "🧙‍♀️" + }, + "fairy": { + "emoji": "🧚" + }, + "man fairy": { + "emoji": "🧚‍♂️" + }, + "woman fairy": { + "emoji": "🧚‍♀️" + }, + "vampire": { + "emoji": "🧛" + }, + "man vampire": { + "emoji": "🧛‍♂️" + }, + "woman vampire": { + "emoji": "🧛‍♀️" + }, + "merperson": { + "emoji": "🧜" + }, + "merman": { + "emoji": "🧜‍♂️" + }, + "mermaid": { + "emoji": "🧜‍♀️" + }, + "elf": { + "emoji": "🧝" + }, + "man elf": { + "emoji": "🧝‍♂️" + }, + "woman elf": { + "emoji": "🧝‍♀️" + }, + "genie": { + "emoji": "🧞" + }, + "man genie": { + "emoji": "🧞‍♂️" + }, + "woman genie": { + "emoji": "🧞‍♀️" + }, + "zombie": { + "emoji": "🧟" + }, + "man zombie": { + "emoji": "🧟‍♂️" + }, + "woman zombie": { + "emoji": "🧟‍♀️" + }, + "person getting massage": { + "emoji": "💆" + }, + "man getting massage": { + "emoji": "💆‍♂️" + }, + "woman getting massage": { + "emoji": "💆‍♀️" + }, + "person getting haircut": { + "emoji": "💇" + }, + "man getting haircut": { + "emoji": "💇‍♂️" + }, + "woman getting haircut": { + "emoji": "💇‍♀️" + }, + "person walking": { + "emoji": "🚶" + }, + "man walking": { + "emoji": "🚶‍♂️" + }, + "woman walking": { + "emoji": "🚶‍♀️" + }, + "person standing": { + "emoji": "🧍" + }, + "man standing": { + "emoji": "🧍‍♂️" + }, + "woman standing": { + "emoji": "🧍‍♀️" + }, + "person kneeling": { + "emoji": "🧎" + }, + "man kneeling": { + "emoji": "🧎‍♂️" + }, + "woman kneeling": { + "emoji": "🧎‍♀️" + }, + "person with white cane": { + "emoji": "🧑‍🦯" + }, + "man with white cane": { + "emoji": "👨‍🦯" + }, + "woman with white cane": { + "emoji": "👩‍🦯" + }, + "person in motorized wheelchair": { + "emoji": "🧑‍🦼" + }, + "man in motorized wheelchair": { + "emoji": "👨‍🦼" + }, + "woman in motorized wheelchair": { + "emoji": "👩‍🦼" + }, + "person in manual wheelchair": { + "emoji": "🧑‍🦽" + }, + "man in manual wheelchair": { + "emoji": "👨‍🦽" + }, + "woman in manual wheelchair": { + "emoji": "👩‍🦽" + }, + "person running": { + "emoji": "🏃" + }, + "man running": { + "emoji": "🏃‍♂️" + }, + "woman running": { + "emoji": "🏃‍♀️" + }, + "woman dancing": { + "emoji": "💃" + }, + "man dancing": { + "emoji": "🕺" + }, + "person in suit levitating": { + "emoji": "🕴️" + }, + "people with bunny ears": { + "emoji": "👯" + }, + "men with bunny ears": { + "emoji": "👯‍♂️" + }, + "women with bunny ears": { + "emoji": "👯‍♀️" + }, + "person in steamy room": { + "emoji": "🧖" + }, + "man in steamy room": { + "emoji": "🧖‍♂️" + }, + "woman in steamy room": { + "emoji": "🧖‍♀️" + }, + "person climbing": { + "emoji": "🧗" + }, + "man climbing": { + "emoji": "🧗‍♂️" + }, + "woman climbing": { + "emoji": "🧗‍♀️" + }, + "person fencing": { + "emoji": "🤺" + }, + "horse racing": { + "emoji": "🏇" + }, + "skier": { + "emoji": "⛷️" + }, + "snowboarder": { + "emoji": "🏂" + }, + "person golfing": { + "emoji": "🏌️" + }, + "man golfing": { + "emoji": "🏌️‍♂️" + }, + "woman golfing": { + "emoji": "🏌️‍♀️" + }, + "person surfing": { + "emoji": "🏄" + }, + "man surfing": { + "emoji": "🏄‍♂️" + }, + "woman surfing": { + "emoji": "🏄‍♀️" + }, + "person rowing boat": { + "emoji": "🚣" + }, + "man rowing boat": { + "emoji": "🚣‍♂️" + }, + "woman rowing boat": { + "emoji": "🚣‍♀️" + }, + "person swimming": { + "emoji": "🏊" + }, + "man swimming": { + "emoji": "🏊‍♂️" + }, + "woman swimming": { + "emoji": "🏊‍♀️" + }, + "person bouncing ball": { + "emoji": "⛹️" + }, + "man bouncing ball": { + "emoji": "⛹️‍♂️" + }, + "woman bouncing ball": { + "emoji": "⛹️‍♀️" + }, + "person lifting weights": { + "emoji": "🏋️" + }, + "man lifting weights": { + "emoji": "🏋️‍♂️" + }, + "woman lifting weights": { + "emoji": "🏋️‍♀️" + }, + "person biking": { + "emoji": "🚴" + }, + "man biking": { + "emoji": "🚴‍♂️" + }, + "woman biking": { + "emoji": "🚴‍♀️" + }, + "person mountain biking": { + "emoji": "🚵" + }, + "man mountain biking": { + "emoji": "🚵‍♂️" + }, + "woman mountain biking": { + "emoji": "🚵‍♀️" + }, + "person cartwheeling": { + "emoji": "🤸" + }, + "man cartwheeling": { + "emoji": "🤸‍♂️" + }, + "woman cartwheeling": { + "emoji": "🤸‍♀️" + }, + "people wrestling": { + "emoji": "🤼" + }, + "men wrestling": { + "emoji": "🤼‍♂️" + }, + "women wrestling": { + "emoji": "🤼‍♀️" + }, + "person playing water polo": { + "emoji": "🤽" + }, + "man playing water polo": { + "emoji": "🤽‍♂️" + }, + "woman playing water polo": { + "emoji": "🤽‍♀️" + }, + "person playing handball": { + "emoji": "🤾" + }, + "man playing handball": { + "emoji": "🤾‍♂️" + }, + "woman playing handball": { + "emoji": "🤾‍♀️" + }, + "person juggling": { + "emoji": "🤹" + }, + "man juggling": { + "emoji": "🤹‍♂️" + }, + "woman juggling": { + "emoji": "🤹‍♀️" + }, + "person in lotus position": { + "emoji": "🧘" + }, + "man in lotus position": { + "emoji": "🧘‍♂️" + }, + "woman in lotus position": { + "emoji": "🧘‍♀️" + }, + "person taking bath": { + "emoji": "🛀" + }, + "person in bed": { + "emoji": "🛌" + }, + "people holding hands": { + "emoji": "🧑‍🤝‍🧑" + }, + "women holding hands": { + "emoji": "👭" + }, + "woman and man holding hands": { + "emoji": "👫" + }, + "men holding hands": { + "emoji": "👬" + }, + "kiss": { + "emoji": "💏" + }, + "kiss: woman, man": { + "emoji": "👩‍❤️‍💋‍👨" + }, + "kiss: man, man": { + "emoji": "👨‍❤️‍💋‍👨" + }, + "kiss: woman, woman": { + "emoji": "👩‍❤️‍💋‍👩" + }, + "couple with heart": { + "emoji": "💑" + }, + "couple with heart: woman, man": { + "emoji": "👩‍❤️‍👨" + }, + "couple with heart: man, man": { + "emoji": "👨‍❤️‍👨" + }, + "couple with heart: woman, woman": { + "emoji": "👩‍❤️‍👩" + }, + "family": { + "emoji": "👪" + }, + "family: man, woman, boy": { + "emoji": "👨‍👩‍👦" + }, + "family: man, woman, girl": { + "emoji": "👨‍👩‍👧" + }, + "family: man, woman, girl, boy": { + "emoji": "👨‍👩‍👧‍👦" + }, + "family: man, woman, boy, boy": { + "emoji": "👨‍👩‍👦‍👦" + }, + "family: man, woman, girl, girl": { + "emoji": "👨‍👩‍👧‍👧" + }, + "family: man, man, boy": { + "emoji": "👨‍👨‍👦" + }, + "family: man, man, girl": { + "emoji": "👨‍👨‍👧" + }, + "family: man, man, girl, boy": { + "emoji": "👨‍👨‍👧‍👦" + }, + "family: man, man, boy, boy": { + "emoji": "👨‍👨‍👦‍👦" + }, + "family: man, man, girl, girl": { + "emoji": "👨‍👨‍👧‍👧" + }, + "family: woman, woman, boy": { + "emoji": "👩‍👩‍👦" + }, + "family: woman, woman, girl": { + "emoji": "👩‍👩‍👧" + }, + "family: woman, woman, girl, boy": { + "emoji": "👩‍👩‍👧‍👦" + }, + "family: woman, woman, boy, boy": { + "emoji": "👩‍👩‍👦‍👦" + }, + "family: woman, woman, girl, girl": { + "emoji": "👩‍👩‍👧‍👧" + }, + "family: man, boy": { + "emoji": "👨‍👦" + }, + "family: man, boy, boy": { + "emoji": "👨‍👦‍👦" + }, + "family: man, girl": { + "emoji": "👨‍👧" + }, + "family: man, girl, boy": { + "emoji": "👨‍👧‍👦" + }, + "family: man, girl, girl": { + "emoji": "👨‍👧‍👧" + }, + "family: woman, boy": { + "emoji": "👩‍👦" + }, + "family: woman, boy, boy": { + "emoji": "👩‍👦‍👦" + }, + "family: woman, girl": { + "emoji": "👩‍👧" + }, + "family: woman, girl, boy": { + "emoji": "👩‍👧‍👦" + }, + "family: woman, girl, girl": { + "emoji": "👩‍👧‍👧" + }, + "speaking head": { + "emoji": "🗣️" + }, + "bust in silhouette": { + "emoji": "👤" + }, + "busts in silhouette": { + "emoji": "👥" + }, + "people hugging": { + "emoji": "🫂" + }, + "footprints": { + "emoji": "👣" + }, + "monkey face": { + "emoji": "🐵" + }, + "monkey": { + "emoji": "🐒" + }, + "gorilla": { + "emoji": "🦍" + }, + "orangutan": { + "emoji": "🦧" + }, + "dog face": { + "emoji": "🐶" + }, + "dog": { + "emoji": "🐕" + }, + "guide dog": { + "emoji": "🦮" + }, + "service dog": { + "emoji": "🐕‍🦺" + }, + "poodle": { + "emoji": "🐩" + }, + "wolf": { + "emoji": "🐺" + }, + "fox": { + "emoji": "🦊" + }, + "raccoon": { + "emoji": "🦝" + }, + "cat face": { + "emoji": "🐱" + }, + "cat": { + "emoji": "🐈" + }, + "black cat": { + "emoji": "🐈‍⬛" + }, + "lion": { + "emoji": "🦁" + }, + "tiger face": { + "emoji": "🐯" + }, + "tiger": { + "emoji": "🐅" + }, + "leopard": { + "emoji": "🐆" + }, + "horse face": { + "emoji": "🐴" + }, + "horse": { + "emoji": "🐎" + }, + "unicorn": { + "emoji": "🦄" + }, + "zebra": { + "emoji": "🦓" + }, + "deer": { + "emoji": "🦌" + }, + "bison": { + "emoji": "🦬" + }, + "cow face": { + "emoji": "🐮" + }, + "ox": { + "emoji": "🐂" + }, + "water buffalo": { + "emoji": "🐃" + }, + "cow": { + "emoji": "🐄" + }, + "pig face": { + "emoji": "🐷" + }, + "pig": { + "emoji": "🐖" + }, + "boar": { + "emoji": "🐗" + }, + "pig nose": { + "emoji": "🐽" + }, + "ram": { + "emoji": "🐏" + }, + "ewe": { + "emoji": "🐑" + }, + "goat": { + "emoji": "🐐" + }, + "camel": { + "emoji": "🐪" + }, + "two-hump camel": { + "emoji": "🐫" + }, + "llama": { + "emoji": "🦙" + }, + "giraffe": { + "emoji": "🦒" + }, + "elephant": { + "emoji": "🐘" + }, + "mammoth": { + "emoji": "🦣" + }, + "rhinoceros": { + "emoji": "🦏" + }, + "hippopotamus": { + "emoji": "🦛" + }, + "mouse face": { + "emoji": "🐭" + }, + "mouse": { + "emoji": "🐁" + }, + "rat": { + "emoji": "🐀" + }, + "hamster": { + "emoji": "🐹" + }, + "rabbit face": { + "emoji": "🐰" + }, + "rabbit": { + "emoji": "🐇" + }, + "chipmunk": { + "emoji": "🐿️" + }, + "beaver": { + "emoji": "🦫" + }, + "hedgehog": { + "emoji": "🦔" + }, + "bat": { + "emoji": "🦇" + }, + "bear": { + "emoji": "🐻" + }, + "polar bear": { + "emoji": "🐻‍❄️" + }, + "koala": { + "emoji": "🐨" + }, + "panda": { + "emoji": "🐼" + }, + "sloth": { + "emoji": "🦥" + }, + "otter": { + "emoji": "🦦" + }, + "skunk": { + "emoji": "🦨" + }, + "kangaroo": { + "emoji": "🦘" + }, + "badger": { + "emoji": "🦡" + }, + "paw prints": { + "emoji": "🐾" + }, + "turkey": { + "emoji": "🦃" + }, + "chicken": { + "emoji": "🐔" + }, + "rooster": { + "emoji": "🐓" + }, + "hatching chick": { + "emoji": "🐣" + }, + "baby chick": { + "emoji": "🐤" + }, + "front-facing baby chick": { + "emoji": "🐥" + }, + "bird": { + "emoji": "🐦" + }, + "penguin": { + "emoji": "🐧" + }, + "dove": { + "emoji": "🕊️" + }, + "eagle": { + "emoji": "🦅" + }, + "duck": { + "emoji": "🦆" + }, + "swan": { + "emoji": "🦢" + }, + "owl": { + "emoji": "🦉" + }, + "dodo": { + "emoji": "🦤" + }, + "feather": { + "emoji": "🪶" + }, + "flamingo": { + "emoji": "🦩" + }, + "peacock": { + "emoji": "🦚" + }, + "parrot": { + "emoji": "🦜" + }, + "frog": { + "emoji": "🐸" + }, + "crocodile": { + "emoji": "🐊" + }, + "turtle": { + "emoji": "🐢" + }, + "lizard": { + "emoji": "🦎" + }, + "snake": { + "emoji": "🐍" + }, + "dragon face": { + "emoji": "🐲" + }, + "dragon": { + "emoji": "🐉" + }, + "sauropod": { + "emoji": "🦕" + }, + "T-Rex": { + "emoji": "🦖" + }, + "spouting whale": { + "emoji": "🐳" + }, + "whale": { + "emoji": "🐋" + }, + "dolphin": { + "emoji": "🐬" + }, + "seal": { + "emoji": "🦭" + }, + "fish": { + "emoji": "🐟" + }, + "tropical fish": { + "emoji": "🐠" + }, + "blowfish": { + "emoji": "🐡" + }, + "shark": { + "emoji": "🦈" + }, + "octopus": { + "emoji": "🐙" + }, + "spiral shell": { + "emoji": "🐚" + }, + "snail": { + "emoji": "🐌" + }, + "butterfly": { + "emoji": "🦋" + }, + "bug": { + "emoji": "🐛" + }, + "ant": { + "emoji": "🐜" + }, + "honeybee": { + "emoji": "🐝" + }, + "beetle": { + "emoji": "🪲" + }, + "lady beetle": { + "emoji": "🐞" + }, + "cricket": { + "emoji": "🦗" + }, + "cockroach": { + "emoji": "🪳" + }, + "spider": { + "emoji": "🕷️" + }, + "spider web": { + "emoji": "🕸️" + }, + "scorpion": { + "emoji": "🦂" + }, + "mosquito": { + "emoji": "🦟" + }, + "fly": { + "emoji": "🪰" + }, + "worm": { + "emoji": "🪱" + }, + "microbe": { + "emoji": "🦠" + }, + "bouquet": { + "emoji": "💐" + }, + "cherry blossom": { + "emoji": "🌸" + }, + "white flower": { + "emoji": "💮" + }, + "rosette": { + "emoji": "🏵️" + }, + "rose": { + "emoji": "🌹" + }, + "wilted flower": { + "emoji": "🥀" + }, + "hibiscus": { + "emoji": "🌺" + }, + "sunflower": { + "emoji": "🌻" + }, + "blossom": { + "emoji": "🌼" + }, + "tulip": { + "emoji": "🌷" + }, + "seedling": { + "emoji": "🌱" + }, + "potted plant": { + "emoji": "🪴" + }, + "evergreen tree": { + "emoji": "🌲" + }, + "deciduous tree": { + "emoji": "🌳" + }, + "palm tree": { + "emoji": "🌴" + }, + "cactus": { + "emoji": "🌵" + }, + "sheaf of rice": { + "emoji": "🌾" + }, + "herb": { + "emoji": "🌿" + }, + "shamrock": { + "emoji": "☘️" + }, + "four leaf clover": { + "emoji": "🍀" + }, + "maple leaf": { + "emoji": "🍁" + }, + "fallen leaf": { + "emoji": "🍂" + }, + "leaf fluttering in wind": { + "emoji": "🍃" + }, + "grapes": { + "emoji": "🍇" + }, + "melon": { + "emoji": "🍈" + }, + "watermelon": { + "emoji": "🍉" + }, + "tangerine": { + "emoji": "🍊" + }, + "lemon": { + "emoji": "🍋" + }, + "banana": { + "emoji": "🍌" + }, + "pineapple": { + "emoji": "🍍" + }, + "mango": { + "emoji": "🥭" + }, + "red apple": { + "emoji": "🍎" + }, + "green apple": { + "emoji": "🍏" + }, + "pear": { + "emoji": "🍐" + }, + "peach": { + "emoji": "🍑" + }, + "cherries": { + "emoji": "🍒" + }, + "strawberry": { + "emoji": "🍓" + }, + "blueberries": { + "emoji": "🫐" + }, + "kiwi fruit": { + "emoji": "🥝" + }, + "tomato": { + "emoji": "🍅" + }, + "olive": { + "emoji": "🫒" + }, + "coconut": { + "emoji": "🥥" + }, + "avocado": { + "emoji": "🥑" + }, + "eggplant": { + "emoji": "🍆" + }, + "potato": { + "emoji": "🥔" + }, + "carrot": { + "emoji": "🥕" + }, + "ear of corn": { + "emoji": "🌽" + }, + "hot pepper": { + "emoji": "🌶️" + }, + "bell pepper": { + "emoji": "🫑" + }, + "cucumber": { + "emoji": "🥒" + }, + "leafy green": { + "emoji": "🥬" + }, + "broccoli": { + "emoji": "🥦" + }, + "garlic": { + "emoji": "🧄" + }, + "onion": { + "emoji": "🧅" + }, + "mushroom": { + "emoji": "🍄" + }, + "peanuts": { + "emoji": "🥜" + }, + "chestnut": { + "emoji": "🌰" + }, + "bread": { + "emoji": "🍞" + }, + "croissant": { + "emoji": "🥐" + }, + "baguette bread": { + "emoji": "🥖" + }, + "flatbread": { + "emoji": "🫓" + }, + "pretzel": { + "emoji": "🥨" + }, + "bagel": { + "emoji": "🥯" + }, + "pancakes": { + "emoji": "🥞" + }, + "waffle": { + "emoji": "🧇" + }, + "cheese wedge": { + "emoji": "🧀" + }, + "meat on bone": { + "emoji": "🍖" + }, + "poultry leg": { + "emoji": "🍗" + }, + "cut of meat": { + "emoji": "🥩" + }, + "bacon": { + "emoji": "🥓" + }, + "hamburger": { + "emoji": "🍔" + }, + "french fries": { + "emoji": "🍟" + }, + "pizza": { + "emoji": "🍕" + }, + "hot dog": { + "emoji": "🌭" + }, + "sandwich": { + "emoji": "🥪" + }, + "taco": { + "emoji": "🌮" + }, + "burrito": { + "emoji": "🌯" + }, + "tamale": { + "emoji": "🫔" + }, + "stuffed flatbread": { + "emoji": "🥙" + }, + "falafel": { + "emoji": "🧆" + }, + "egg": { + "emoji": "🥚" + }, + "cooking": { + "emoji": "🍳" + }, + "shallow pan of food": { + "emoji": "🥘" + }, + "pot of food": { + "emoji": "🍲" + }, + "fondue": { + "emoji": "🫕" + }, + "bowl with spoon": { + "emoji": "🥣" + }, + "green salad": { + "emoji": "🥗" + }, + "popcorn": { + "emoji": "🍿" + }, + "butter": { + "emoji": "🧈" + }, + "salt": { + "emoji": "🧂" + }, + "canned food": { + "emoji": "🥫" + }, + "bento box": { + "emoji": "🍱" + }, + "rice cracker": { + "emoji": "🍘" + }, + "rice ball": { + "emoji": "🍙" + }, + "cooked rice": { + "emoji": "🍚" + }, + "curry rice": { + "emoji": "🍛" + }, + "steaming bowl": { + "emoji": "🍜" + }, + "spaghetti": { + "emoji": "🍝" + }, + "roasted sweet potato": { + "emoji": "🍠" + }, + "oden": { + "emoji": "🍢" + }, + "sushi": { + "emoji": "🍣" + }, + "fried shrimp": { + "emoji": "🍤" + }, + "fish cake with swirl": { + "emoji": "🍥" + }, + "moon cake": { + "emoji": "🥮" + }, + "dango": { + "emoji": "🍡" + }, + "dumpling": { + "emoji": "🥟" + }, + "fortune cookie": { + "emoji": "🥠" + }, + "takeout box": { + "emoji": "🥡" + }, + "crab": { + "emoji": "🦀" + }, + "lobster": { + "emoji": "🦞" + }, + "shrimp": { + "emoji": "🦐" + }, + "squid": { + "emoji": "🦑" + }, + "oyster": { + "emoji": "🦪" + }, + "soft ice cream": { + "emoji": "🍦" + }, + "shaved ice": { + "emoji": "🍧" + }, + "ice cream": { + "emoji": "🍨" + }, + "doughnut": { + "emoji": "🍩" + }, + "cookie": { + "emoji": "🍪" + }, + "birthday cake": { + "emoji": "🎂" + }, + "shortcake": { + "emoji": "🍰" + }, + "cupcake": { + "emoji": "🧁" + }, + "pie": { + "emoji": "🥧" + }, + "chocolate bar": { + "emoji": "🍫" + }, + "candy": { + "emoji": "🍬" + }, + "lollipop": { + "emoji": "🍭" + }, + "custard": { + "emoji": "🍮" + }, + "honey pot": { + "emoji": "🍯" + }, + "baby bottle": { + "emoji": "🍼" + }, + "glass of milk": { + "emoji": "🥛" + }, + "hot beverage": { + "emoji": "☕" + }, + "teapot": { + "emoji": "🫖" + }, + "teacup without handle": { + "emoji": "🍵" + }, + "sake": { + "emoji": "🍶" + }, + "bottle with popping cork": { + "emoji": "🍾" + }, + "wine glass": { + "emoji": "🍷" + }, + "cocktail glass": { + "emoji": "🍸" + }, + "tropical drink": { + "emoji": "🍹" + }, + "beer mug": { + "emoji": "🍺" + }, + "clinking beer mugs": { + "emoji": "🍻" + }, + "clinking glasses": { + "emoji": "🥂" + }, + "tumbler glass": { + "emoji": "🥃" + }, + "cup with straw": { + "emoji": "🥤" + }, + "bubble tea": { + "emoji": "🧋" + }, + "beverage box": { + "emoji": "🧃" + }, + "mate": { + "emoji": "🧉" + }, + "ice": { + "emoji": "🧊" + }, + "chopsticks": { + "emoji": "🥢" + }, + "fork and knife with plate": { + "emoji": "🍽️" + }, + "fork and knife": { + "emoji": "🍴" + }, + "spoon": { + "emoji": "🥄" + }, + "kitchen knife": { + "emoji": "🔪" + }, + "amphora": { + "emoji": "🏺" + }, + "globe showing Europe-Africa": { + "emoji": "🌍" + }, + "globe showing Americas": { + "emoji": "🌎" + }, + "globe showing Asia-Australia": { + "emoji": "🌏" + }, + "globe with meridians": { + "emoji": "🌐" + }, + "world map": { + "emoji": "🗺️" + }, + "map of Japan": { + "emoji": "🗾" + }, + "compass": { + "emoji": "🧭" + }, + "snow-capped mountain": { + "emoji": "🏔️" + }, + "mountain": { + "emoji": "⛰️" + }, + "volcano": { + "emoji": "🌋" + }, + "mount fuji": { + "emoji": "🗻" + }, + "camping": { + "emoji": "🏕️" + }, + "beach with umbrella": { + "emoji": "🏖️" + }, + "desert": { + "emoji": "🏜️" + }, + "desert island": { + "emoji": "🏝️" + }, + "national park": { + "emoji": "🏞️" + }, + "stadium": { + "emoji": "🏟️" + }, + "classical building": { + "emoji": "🏛️" + }, + "building construction": { + "emoji": "🏗️" + }, + "brick": { + "emoji": "🧱" + }, + "rock": { + "emoji": "🪨" + }, + "wood": { + "emoji": "🪵" + }, + "hut": { + "emoji": "🛖" + }, + "houses": { + "emoji": "🏘️" + }, + "derelict house": { + "emoji": "🏚️" + }, + "house": { + "emoji": "🏠" + }, + "house with garden": { + "emoji": "🏡" + }, + "office building": { + "emoji": "🏢" + }, + "Japanese post office": { + "emoji": "🏣" + }, + "post office": { + "emoji": "🏤" + }, + "hospital": { + "emoji": "🏥" + }, + "bank": { + "emoji": "🏦" + }, + "hotel": { + "emoji": "🏨" + }, + "love hotel": { + "emoji": "🏩" + }, + "convenience store": { + "emoji": "🏪" + }, + "school": { + "emoji": "🏫" + }, + "department store": { + "emoji": "🏬" + }, + "factory": { + "emoji": "🏭" + }, + "Japanese castle": { + "emoji": "🏯" + }, + "castle": { + "emoji": "🏰" + }, + "wedding": { + "emoji": "💒" + }, + "Tokyo tower": { + "emoji": "🗼" + }, + "Statue of Liberty": { + "emoji": "🗽" + }, + "church": { + "emoji": "⛪" + }, + "mosque": { + "emoji": "🕌" + }, + "hindu temple": { + "emoji": "🛕" + }, + "synagogue": { + "emoji": "🕍" + }, + "shinto shrine": { + "emoji": "⛩️" + }, + "kaaba": { + "emoji": "🕋" + }, + "fountain": { + "emoji": "⛲" + }, + "tent": { + "emoji": "⛺" + }, + "foggy": { + "emoji": "🌁" + }, + "night with stars": { + "emoji": "🌃" + }, + "cityscape": { + "emoji": "🏙️" + }, + "sunrise over mountains": { + "emoji": "🌄" + }, + "sunrise": { + "emoji": "🌅" + }, + "cityscape at dusk": { + "emoji": "🌆" + }, + "sunset": { + "emoji": "🌇" + }, + "bridge at night": { + "emoji": "🌉" + }, + "hot springs": { + "emoji": "♨️" + }, + "carousel horse": { + "emoji": "🎠" + }, + "ferris wheel": { + "emoji": "🎡" + }, + "roller coaster": { + "emoji": "🎢" + }, + "barber pole": { + "emoji": "💈" + }, + "circus tent": { + "emoji": "🎪" + }, + "locomotive": { + "emoji": "🚂" + }, + "railway car": { + "emoji": "🚃" + }, + "high-speed train": { + "emoji": "🚄" + }, + "bullet train": { + "emoji": "🚅" + }, + "train": { + "emoji": "🚆" + }, + "metro": { + "emoji": "🚇" + }, + "light rail": { + "emoji": "🚈" + }, + "station": { + "emoji": "🚉" + }, + "tram": { + "emoji": "🚊" + }, + "monorail": { + "emoji": "🚝" + }, + "mountain railway": { + "emoji": "🚞" + }, + "tram car": { + "emoji": "🚋" + }, + "bus": { + "emoji": "🚌" + }, + "oncoming bus": { + "emoji": "🚍" + }, + "trolleybus": { + "emoji": "🚎" + }, + "minibus": { + "emoji": "🚐" + }, + "ambulance": { + "emoji": "🚑" + }, + "fire engine": { + "emoji": "🚒" + }, + "police car": { + "emoji": "🚓" + }, + "oncoming police car": { + "emoji": "🚔" + }, + "taxi": { + "emoji": "🚕" + }, + "oncoming taxi": { + "emoji": "🚖" + }, + "automobile": { + "emoji": "🚗" + }, + "oncoming automobile": { + "emoji": "🚘" + }, + "sport utility vehicle": { + "emoji": "🚙" + }, + "pickup truck": { + "emoji": "🛻" + }, + "delivery truck": { + "emoji": "🚚" + }, + "articulated lorry": { + "emoji": "🚛" + }, + "tractor": { + "emoji": "🚜" + }, + "racing car": { + "emoji": "🏎️" + }, + "motorcycle": { + "emoji": "🏍️" + }, + "motor scooter": { + "emoji": "🛵" + }, + "manual wheelchair": { + "emoji": "🦽" + }, + "motorized wheelchair": { + "emoji": "🦼" + }, + "auto rickshaw": { + "emoji": "🛺" + }, + "bicycle": { + "emoji": "🚲" + }, + "kick scooter": { + "emoji": "🛴" + }, + "skateboard": { + "emoji": "🛹" + }, + "roller skate": { + "emoji": "🛼" + }, + "bus stop": { + "emoji": "🚏" + }, + "motorway": { + "emoji": "🛣️" + }, + "railway track": { + "emoji": "🛤️" + }, + "oil drum": { + "emoji": "🛢️" + }, + "fuel pump": { + "emoji": "⛽" + }, + "police car light": { + "emoji": "🚨" + }, + "horizontal traffic light": { + "emoji": "🚥" + }, + "vertical traffic light": { + "emoji": "🚦" + }, + "stop sign": { + "emoji": "🛑" + }, + "construction": { + "emoji": "🚧" + }, + "anchor": { + "emoji": "⚓" + }, + "sailboat": { + "emoji": "⛵" + }, + "canoe": { + "emoji": "🛶" + }, + "speedboat": { + "emoji": "🚤" + }, + "passenger ship": { + "emoji": "🛳️" + }, + "ferry": { + "emoji": "⛴️" + }, + "motor boat": { + "emoji": "🛥️" + }, + "ship": { + "emoji": "🚢" + }, + "airplane": { + "emoji": "✈️" + }, + "small airplane": { + "emoji": "🛩️" + }, + "airplane departure": { + "emoji": "🛫" + }, + "airplane arrival": { + "emoji": "🛬" + }, + "parachute": { + "emoji": "🪂" + }, + "seat": { + "emoji": "💺" + }, + "helicopter": { + "emoji": "🚁" + }, + "suspension railway": { + "emoji": "🚟" + }, + "mountain cableway": { + "emoji": "🚠" + }, + "aerial tramway": { + "emoji": "🚡" + }, + "satellite": { + "emoji": "🛰️" + }, + "rocket": { + "emoji": "🚀" + }, + "flying saucer": { + "emoji": "🛸" + }, + "bellhop bell": { + "emoji": "🛎️" + }, + "luggage": { + "emoji": "🧳" + }, + "hourglass done": { + "emoji": "⌛" + }, + "hourglass not done": { + "emoji": "⏳" + }, + "watch": { + "emoji": "⌚" + }, + "alarm clock": { + "emoji": "⏰" + }, + "stopwatch": { + "emoji": "⏱️" + }, + "timer clock": { + "emoji": "⏲️" + }, + "mantelpiece clock": { + "emoji": "🕰️" + }, + "twelve o’clock": { + "emoji": "🕛" + }, + "twelve-thirty": { + "emoji": "🕧" + }, + "one o’clock": { + "emoji": "🕐" + }, + "one-thirty": { + "emoji": "🕜" + }, + "two o’clock": { + "emoji": "🕑" + }, + "two-thirty": { + "emoji": "🕝" + }, + "three o’clock": { + "emoji": "🕒" + }, + "three-thirty": { + "emoji": "🕞" + }, + "four o’clock": { + "emoji": "🕓" + }, + "four-thirty": { + "emoji": "🕟" + }, + "five o’clock": { + "emoji": "🕔" + }, + "five-thirty": { + "emoji": "🕠" + }, + "six o’clock": { + "emoji": "🕕" + }, + "six-thirty": { + "emoji": "🕡" + }, + "seven o’clock": { + "emoji": "🕖" + }, + "seven-thirty": { + "emoji": "🕢" + }, + "eight o’clock": { + "emoji": "🕗" + }, + "eight-thirty": { + "emoji": "🕣" + }, + "nine o’clock": { + "emoji": "🕘" + }, + "nine-thirty": { + "emoji": "🕤" + }, + "ten o’clock": { + "emoji": "🕙" + }, + "ten-thirty": { + "emoji": "🕥" + }, + "eleven o’clock": { + "emoji": "🕚" + }, + "eleven-thirty": { + "emoji": "🕦" + }, + "new moon": { + "emoji": "🌑" + }, + "waxing crescent moon": { + "emoji": "🌒" + }, + "first quarter moon": { + "emoji": "🌓" + }, + "waxing gibbous moon": { + "emoji": "🌔" + }, + "full moon": { + "emoji": "🌕" + }, + "waning gibbous moon": { + "emoji": "🌖" + }, + "last quarter moon": { + "emoji": "🌗" + }, + "waning crescent moon": { + "emoji": "🌘" + }, + "crescent moon": { + "emoji": "🌙" + }, + "new moon face": { + "emoji": "🌚" + }, + "first quarter moon face": { + "emoji": "🌛" + }, + "last quarter moon face": { + "emoji": "🌜" + }, + "thermometer": { + "emoji": "🌡️" + }, + "sun": { + "emoji": "☀️" + }, + "full moon face": { + "emoji": "🌝" + }, + "sun with face": { + "emoji": "🌞" + }, + "ringed planet": { + "emoji": "🪐" + }, + "star": { + "emoji": "⭐" + }, + "glowing star": { + "emoji": "🌟" + }, + "shooting star": { + "emoji": "🌠" + }, + "milky way": { + "emoji": "🌌" + }, + "cloud": { + "emoji": "☁️" + }, + "sun behind cloud": { + "emoji": "⛅" + }, + "cloud with lightning and rain": { + "emoji": "⛈️" + }, + "sun behind small cloud": { + "emoji": "🌤️" + }, + "sun behind large cloud": { + "emoji": "🌥️" + }, + "sun behind rain cloud": { + "emoji": "🌦️" + }, + "cloud with rain": { + "emoji": "🌧️" + }, + "cloud with snow": { + "emoji": "🌨️" + }, + "cloud with lightning": { + "emoji": "🌩️" + }, + "tornado": { + "emoji": "🌪️" + }, + "fog": { + "emoji": "🌫️" + }, + "wind face": { + "emoji": "🌬️" + }, + "cyclone": { + "emoji": "🌀" + }, + "rainbow": { + "emoji": "🌈" + }, + "closed umbrella": { + "emoji": "🌂" + }, + "umbrella": { + "emoji": "☂️" + }, + "umbrella with rain drops": { + "emoji": "☔" + }, + "umbrella on ground": { + "emoji": "⛱️" + }, + "high voltage": { + "emoji": "⚡" + }, + "snowflake": { + "emoji": "❄️" + }, + "snowman": { + "emoji": "☃️" + }, + "snowman without snow": { + "emoji": "⛄" + }, + "comet": { + "emoji": "☄️" + }, + "fire": { + "emoji": "🔥" + }, + "droplet": { + "emoji": "💧" + }, + "water wave": { + "emoji": "🌊" + }, + "jack-o-lantern": { + "emoji": "🎃" + }, + "Christmas tree": { + "emoji": "🎄" + }, + "fireworks": { + "emoji": "🎆" + }, + "sparkler": { + "emoji": "🎇" + }, + "firecracker": { + "emoji": "🧨" + }, + "sparkles": { + "emoji": "✨" + }, + "balloon": { + "emoji": "🎈" + }, + "party popper": { + "emoji": "🎉" + }, + "confetti ball": { + "emoji": "🎊" + }, + "tanabata tree": { + "emoji": "🎋" + }, + "pine decoration": { + "emoji": "🎍" + }, + "Japanese dolls": { + "emoji": "🎎" + }, + "carp streamer": { + "emoji": "🎏" + }, + "wind chime": { + "emoji": "🎐" + }, + "moon viewing ceremony": { + "emoji": "🎑" + }, + "red envelope": { + "emoji": "🧧" + }, + "ribbon": { + "emoji": "🎀" + }, + "wrapped gift": { + "emoji": "🎁" + }, + "reminder ribbon": { + "emoji": "🎗️" + }, + "admission tickets": { + "emoji": "🎟️" + }, + "ticket": { + "emoji": "🎫" + }, + "military medal": { + "emoji": "🎖️" + }, + "trophy": { + "emoji": "🏆" + }, + "sports medal": { + "emoji": "🏅" + }, + "1st place medal": { + "emoji": "🥇" + }, + "2nd place medal": { + "emoji": "🥈" + }, + "3rd place medal": { + "emoji": "🥉" + }, + "soccer ball": { + "emoji": "⚽" + }, + "baseball": { + "emoji": "⚾" + }, + "softball": { + "emoji": "🥎" + }, + "basketball": { + "emoji": "🏀" + }, + "volleyball": { + "emoji": "🏐" + }, + "american football": { + "emoji": "🏈" + }, + "rugby football": { + "emoji": "🏉" + }, + "tennis": { + "emoji": "🎾" + }, + "flying disc": { + "emoji": "🥏" + }, + "bowling": { + "emoji": "🎳" + }, + "cricket game": { + "emoji": "🏏" + }, + "field hockey": { + "emoji": "🏑" + }, + "ice hockey": { + "emoji": "🏒" + }, + "lacrosse": { + "emoji": "🥍" + }, + "ping pong": { + "emoji": "🏓" + }, + "badminton": { + "emoji": "🏸" + }, + "boxing glove": { + "emoji": "🥊" + }, + "martial arts uniform": { + "emoji": "🥋" + }, + "goal net": { + "emoji": "🥅" + }, + "flag in hole": { + "emoji": "⛳" + }, + "ice skate": { + "emoji": "⛸️" + }, + "fishing pole": { + "emoji": "🎣" + }, + "diving mask": { + "emoji": "🤿" + }, + "running shirt": { + "emoji": "🎽" + }, + "skis": { + "emoji": "🎿" + }, + "sled": { + "emoji": "🛷" + }, + "curling stone": { + "emoji": "🥌" + }, + "direct hit": { + "emoji": "🎯" + }, + "yo-yo": { + "emoji": "🪀" + }, + "kite": { + "emoji": "🪁" + }, + "pool 8 ball": { + "emoji": "🎱" + }, + "crystal ball": { + "emoji": "🔮" + }, + "magic wand": { + "emoji": "🪄" + }, + "nazar amulet": { + "emoji": "🧿" + }, + "video game": { + "emoji": "🎮" + }, + "joystick": { + "emoji": "🕹️" + }, + "slot machine": { + "emoji": "🎰" + }, + "game die": { + "emoji": "🎲" + }, + "puzzle piece": { + "emoji": "🧩" + }, + "teddy bear": { + "emoji": "🧸" + }, + "piñata": { + "emoji": "🪅" + }, + "nesting dolls": { + "emoji": "🪆" + }, + "spade suit": { + "emoji": "♠️" + }, + "heart suit": { + "emoji": "♥️" + }, + "diamond suit": { + "emoji": "♦️" + }, + "club suit": { + "emoji": "♣️" + }, + "chess pawn": { + "emoji": "♟️" + }, + "joker": { + "emoji": "🃏" + }, + "mahjong red dragon": { + "emoji": "🀄" + }, + "flower playing cards": { + "emoji": "🎴" + }, + "performing arts": { + "emoji": "🎭" + }, + "framed picture": { + "emoji": "🖼️" + }, + "artist palette": { + "emoji": "🎨" + }, + "thread": { + "emoji": "🧵" + }, + "sewing needle": { + "emoji": "🪡" + }, + "yarn": { + "emoji": "🧶" + }, + "knot": { + "emoji": "🪢" + }, + "glasses": { + "emoji": "👓" + }, + "sunglasses": { + "emoji": "🕶️" + }, + "goggles": { + "emoji": "🥽" + }, + "lab coat": { + "emoji": "🥼" + }, + "safety vest": { + "emoji": "🦺" + }, + "necktie": { + "emoji": "👔" + }, + "t-shirt": { + "emoji": "👕" + }, + "jeans": { + "emoji": "👖" + }, + "scarf": { + "emoji": "🧣" + }, + "gloves": { + "emoji": "🧤" + }, + "coat": { + "emoji": "🧥" + }, + "socks": { + "emoji": "🧦" + }, + "dress": { + "emoji": "👗" + }, + "kimono": { + "emoji": "👘" + }, + "sari": { + "emoji": "🥻" + }, + "one-piece swimsuit": { + "emoji": "🩱" + }, + "briefs": { + "emoji": "🩲" + }, + "shorts": { + "emoji": "🩳" + }, + "bikini": { + "emoji": "👙" + }, + "woman’s clothes": { + "emoji": "👚" + }, + "purse": { + "emoji": "👛" + }, + "handbag": { + "emoji": "👜" + }, + "clutch bag": { + "emoji": "👝" + }, + "shopping bags": { + "emoji": "🛍️" + }, + "backpack": { + "emoji": "🎒" + }, + "thong sandal": { + "emoji": "🩴" + }, + "man’s shoe": { + "emoji": "👞" + }, + "running shoe": { + "emoji": "👟" + }, + "hiking boot": { + "emoji": "🥾" + }, + "flat shoe": { + "emoji": "🥿" + }, + "high-heeled shoe": { + "emoji": "👠" + }, + "woman’s sandal": { + "emoji": "👡" + }, + "ballet shoes": { + "emoji": "🩰" + }, + "woman’s boot": { + "emoji": "👢" + }, + "crown": { + "emoji": "👑" + }, + "woman’s hat": { + "emoji": "👒" + }, + "top hat": { + "emoji": "🎩" + }, + "graduation cap": { + "emoji": "🎓" + }, + "billed cap": { + "emoji": "🧢" + }, + "military helmet": { + "emoji": "🪖" + }, + "rescue worker’s helmet": { + "emoji": "⛑️" + }, + "prayer beads": { + "emoji": "📿" + }, + "lipstick": { + "emoji": "💄" + }, + "ring": { + "emoji": "💍" + }, + "gem stone": { + "emoji": "💎" + }, + "muted speaker": { + "emoji": "🔇" + }, + "speaker low volume": { + "emoji": "🔈" + }, + "speaker medium volume": { + "emoji": "🔉" + }, + "speaker high volume": { + "emoji": "🔊" + }, + "loudspeaker": { + "emoji": "📢" + }, + "megaphone": { + "emoji": "📣" + }, + "postal horn": { + "emoji": "📯" + }, + "bell": { + "emoji": "🔔" + }, + "bell with slash": { + "emoji": "🔕" + }, + "musical score": { + "emoji": "🎼" + }, + "musical note": { + "emoji": "🎵" + }, + "musical notes": { + "emoji": "🎶" + }, + "studio microphone": { + "emoji": "🎙️" + }, + "level slider": { + "emoji": "🎚️" + }, + "control knobs": { + "emoji": "🎛️" + }, + "microphone": { + "emoji": "🎤" + }, + "headphone": { + "emoji": "🎧" + }, + "radio": { + "emoji": "📻" + }, + "saxophone": { + "emoji": "🎷" + }, + "accordion": { + "emoji": "🪗" + }, + "guitar": { + "emoji": "🎸" + }, + "musical keyboard": { + "emoji": "🎹" + }, + "trumpet": { + "emoji": "🎺" + }, + "violin": { + "emoji": "🎻" + }, + "banjo": { + "emoji": "🪕" + }, + "drum": { + "emoji": "🥁" + }, + "long drum": { + "emoji": "🪘" + }, + "mobile phone": { + "emoji": "📱" + }, + "mobile phone with arrow": { + "emoji": "📲" + }, + "telephone": { + "emoji": "☎️" + }, + "telephone receiver": { + "emoji": "📞" + }, + "pager": { + "emoji": "📟" + }, + "fax machine": { + "emoji": "📠" + }, + "battery": { + "emoji": "🔋" + }, + "electric plug": { + "emoji": "🔌" + }, + "laptop": { + "emoji": "💻" + }, + "desktop computer": { + "emoji": "🖥️" + }, + "printer": { + "emoji": "🖨️" + }, + "keyboard": { + "emoji": "⌨️" + }, + "computer mouse": { + "emoji": "🖱️" + }, + "trackball": { + "emoji": "🖲️" + }, + "computer disk": { + "emoji": "💽" + }, + "floppy disk": { + "emoji": "💾" + }, + "optical disk": { + "emoji": "💿" + }, + "dvd": { + "emoji": "📀" + }, + "abacus": { + "emoji": "🧮" + }, + "movie camera": { + "emoji": "🎥" + }, + "film frames": { + "emoji": "🎞️" + }, + "film projector": { + "emoji": "📽️" + }, + "clapper board": { + "emoji": "🎬" + }, + "television": { + "emoji": "📺" + }, + "camera": { + "emoji": "📷" + }, + "camera with flash": { + "emoji": "📸" + }, + "video camera": { + "emoji": "📹" + }, + "videocassette": { + "emoji": "📼" + }, + "magnifying glass tilted left": { + "emoji": "🔍" + }, + "magnifying glass tilted right": { + "emoji": "🔎" + }, + "candle": { + "emoji": "🕯️" + }, + "light bulb": { + "emoji": "💡" + }, + "flashlight": { + "emoji": "🔦" + }, + "red paper lantern": { + "emoji": "🏮" + }, + "diya lamp": { + "emoji": "🪔" + }, + "notebook with decorative cover": { + "emoji": "📔" + }, + "closed book": { + "emoji": "📕" + }, + "open book": { + "emoji": "📖" + }, + "green book": { + "emoji": "📗" + }, + "blue book": { + "emoji": "📘" + }, + "orange book": { + "emoji": "📙" + }, + "books": { + "emoji": "📚" + }, + "notebook": { + "emoji": "📓" + }, + "ledger": { + "emoji": "📒" + }, + "page with curl": { + "emoji": "📃" + }, + "scroll": { + "emoji": "📜" + }, + "page facing up": { + "emoji": "📄" + }, + "newspaper": { + "emoji": "📰" + }, + "rolled-up newspaper": { + "emoji": "🗞️" + }, + "bookmark tabs": { + "emoji": "📑" + }, + "bookmark": { + "emoji": "🔖" + }, + "label": { + "emoji": "🏷️" + }, + "money bag": { + "emoji": "💰" + }, + "coin": { + "emoji": "🪙" + }, + "yen banknote": { + "emoji": "💴" + }, + "dollar banknote": { + "emoji": "💵" + }, + "euro banknote": { + "emoji": "💶" + }, + "pound banknote": { + "emoji": "💷" + }, + "money with wings": { + "emoji": "💸" + }, + "credit card": { + "emoji": "💳" + }, + "receipt": { + "emoji": "🧾" + }, + "chart increasing with yen": { + "emoji": "💹" + }, + "envelope": { + "emoji": "✉️" + }, + "e-mail": { + "emoji": "📧" + }, + "incoming envelope": { + "emoji": "📨" + }, + "envelope with arrow": { + "emoji": "📩" + }, + "outbox tray": { + "emoji": "📤" + }, + "inbox tray": { + "emoji": "📥" + }, + "package": { + "emoji": "📦" + }, + "closed mailbox with raised flag": { + "emoji": "📫" + }, + "closed mailbox with lowered flag": { + "emoji": "📪" + }, + "open mailbox with raised flag": { + "emoji": "📬" + }, + "open mailbox with lowered flag": { + "emoji": "📭" + }, + "postbox": { + "emoji": "📮" + }, + "ballot box with ballot": { + "emoji": "🗳️" + }, + "pencil": { + "emoji": "✏️" + }, + "black nib": { + "emoji": "✒️" + }, + "fountain pen": { + "emoji": "🖋️" + }, + "pen": { + "emoji": "🖊️" + }, + "paintbrush": { + "emoji": "🖌️" + }, + "crayon": { + "emoji": "🖍️" + }, + "memo": { + "emoji": "📝" + }, + "briefcase": { + "emoji": "💼" + }, + "file folder": { + "emoji": "📁" + }, + "open file folder": { + "emoji": "📂" + }, + "card index dividers": { + "emoji": "🗂️" + }, + "calendar": { + "emoji": "📅" + }, + "tear-off calendar": { + "emoji": "📆" + }, + "spiral notepad": { + "emoji": "🗒️" + }, + "spiral calendar": { + "emoji": "🗓️" + }, + "card index": { + "emoji": "📇" + }, + "chart increasing": { + "emoji": "📈" + }, + "chart decreasing": { + "emoji": "📉" + }, + "bar chart": { + "emoji": "📊" + }, + "clipboard": { + "emoji": "📋" + }, + "pushpin": { + "emoji": "📌" + }, + "round pushpin": { + "emoji": "📍" + }, + "paperclip": { + "emoji": "📎" + }, + "linked paperclips": { + "emoji": "🖇️" + }, + "straight ruler": { + "emoji": "📏" + }, + "triangular ruler": { + "emoji": "📐" + }, + "scissors": { + "emoji": "✂️" + }, + "card file box": { + "emoji": "🗃️" + }, + "file cabinet": { + "emoji": "🗄️" + }, + "wastebasket": { + "emoji": "🗑️" + }, + "locked": { + "emoji": "🔒" + }, + "unlocked": { + "emoji": "🔓" + }, + "locked with pen": { + "emoji": "🔏" + }, + "locked with key": { + "emoji": "🔐" + }, + "key": { + "emoji": "🔑" + }, + "old key": { + "emoji": "🗝️" + }, + "hammer": { + "emoji": "🔨" + }, + "axe": { + "emoji": "🪓" + }, + "pick": { + "emoji": "⛏️" + }, + "hammer and pick": { + "emoji": "⚒️" + }, + "hammer and wrench": { + "emoji": "🛠️" + }, + "dagger": { + "emoji": "🗡️" + }, + "crossed swords": { + "emoji": "⚔️" + }, + "pistol": { + "emoji": "🔫" + }, + "boomerang": { + "emoji": "🪃" + }, + "bow and arrow": { + "emoji": "🏹" + }, + "shield": { + "emoji": "🛡️" + }, + "carpentry saw": { + "emoji": "🪚" + }, + "wrench": { + "emoji": "🔧" + }, + "screwdriver": { + "emoji": "🪛" + }, + "nut and bolt": { + "emoji": "🔩" + }, + "gear": { + "emoji": "⚙️" + }, + "clamp": { + "emoji": "🗜️" + }, + "balance scale": { + "emoji": "⚖️" + }, + "white cane": { + "emoji": "🦯" + }, + "link": { + "emoji": "🔗" + }, + "chains": { + "emoji": "⛓️" + }, + "hook": { + "emoji": "🪝" + }, + "toolbox": { + "emoji": "🧰" + }, + "magnet": { + "emoji": "🧲" + }, + "ladder": { + "emoji": "🪜" + }, + "alembic": { + "emoji": "⚗️" + }, + "test tube": { + "emoji": "🧪" + }, + "petri dish": { + "emoji": "🧫" + }, + "dna": { + "emoji": "🧬" + }, + "microscope": { + "emoji": "🔬" + }, + "telescope": { + "emoji": "🔭" + }, + "satellite antenna": { + "emoji": "📡" + }, + "syringe": { + "emoji": "💉" + }, + "drop of blood": { + "emoji": "🩸" + }, + "pill": { + "emoji": "💊" + }, + "adhesive bandage": { + "emoji": "🩹" + }, + "stethoscope": { + "emoji": "🩺" + }, + "door": { + "emoji": "🚪" + }, + "elevator": { + "emoji": "🛗" + }, + "mirror": { + "emoji": "🪞" + }, + "window": { + "emoji": "🪟" + }, + "bed": { + "emoji": "🛏️" + }, + "couch and lamp": { + "emoji": "🛋️" + }, + "chair": { + "emoji": "🪑" + }, + "toilet": { + "emoji": "🚽" + }, + "plunger": { + "emoji": "🪠" + }, + "shower": { + "emoji": "🚿" + }, + "bathtub": { + "emoji": "🛁" + }, + "mouse trap": { + "emoji": "🪤" + }, + "razor": { + "emoji": "🪒" + }, + "lotion bottle": { + "emoji": "🧴" + }, + "safety pin": { + "emoji": "🧷" + }, + "broom": { + "emoji": "🧹" + }, + "basket": { + "emoji": "🧺" + }, + "roll of paper": { + "emoji": "🧻" + }, + "bucket": { + "emoji": "🪣" + }, + "soap": { + "emoji": "🧼" + }, + "toothbrush": { + "emoji": "🪥" + }, + "sponge": { + "emoji": "🧽" + }, + "fire extinguisher": { + "emoji": "🧯" + }, + "shopping cart": { + "emoji": "🛒" + }, + "cigarette": { + "emoji": "🚬" + }, + "coffin": { + "emoji": "⚰️" + }, + "headstone": { + "emoji": "🪦" + }, + "funeral urn": { + "emoji": "⚱️" + }, + "moai": { + "emoji": "🗿" + }, + "placard": { + "emoji": "🪧" + }, + "ATM sign": { + "emoji": "🏧" + }, + "litter in bin sign": { + "emoji": "🚮" + }, + "potable water": { + "emoji": "🚰" + }, + "wheelchair symbol": { + "emoji": "♿" + }, + "men’s room": { + "emoji": "🚹" + }, + "women’s room": { + "emoji": "🚺" + }, + "restroom": { + "emoji": "🚻" + }, + "baby symbol": { + "emoji": "🚼" + }, + "water closet": { + "emoji": "🚾" + }, + "passport control": { + "emoji": "🛂" + }, + "customs": { + "emoji": "🛃" + }, + "baggage claim": { + "emoji": "🛄" + }, + "left luggage": { + "emoji": "🛅" + }, + "warning": { + "emoji": "⚠️" + }, + "children crossing": { + "emoji": "🚸" + }, + "no entry": { + "emoji": "⛔" + }, + "prohibited": { + "emoji": "🚫" + }, + "no bicycles": { + "emoji": "🚳" + }, + "no smoking": { + "emoji": "🚭" + }, + "no littering": { + "emoji": "🚯" + }, + "non-potable water": { + "emoji": "🚱" + }, + "no pedestrians": { + "emoji": "🚷" + }, + "no mobile phones": { + "emoji": "📵" + }, + "no one under eighteen": { + "emoji": "🔞" + }, + "radioactive": { + "emoji": "☢️" + }, + "biohazard": { + "emoji": "☣️" + }, + "up arrow": { + "emoji": "⬆️" + }, + "up-right arrow": { + "emoji": "↗️" + }, + "right arrow": { + "emoji": "➡️" + }, + "down-right arrow": { + "emoji": "↘️" + }, + "down arrow": { + "emoji": "⬇️" + }, + "down-left arrow": { + "emoji": "↙️" + }, + "left arrow": { + "emoji": "⬅️" + }, + "up-left arrow": { + "emoji": "↖️" + }, + "up-down arrow": { + "emoji": "↕️" + }, + "left-right arrow": { + "emoji": "↔️" + }, + "right arrow curving left": { + "emoji": "↩️" + }, + "left arrow curving right": { + "emoji": "↪️" + }, + "right arrow curving up": { + "emoji": "⤴️" + }, + "right arrow curving down": { + "emoji": "⤵️" + }, + "clockwise vertical arrows": { + "emoji": "🔃" + }, + "counterclockwise arrows button": { + "emoji": "🔄" + }, + "BACK arrow": { + "emoji": "🔙" + }, + "END arrow": { + "emoji": "🔚" + }, + "ON! arrow": { + "emoji": "🔛" + }, + "SOON arrow": { + "emoji": "🔜" + }, + "TOP arrow": { + "emoji": "🔝" + }, + "place of worship": { + "emoji": "🛐" + }, + "atom symbol": { + "emoji": "⚛️" + }, + "om": { + "emoji": "🕉️" + }, + "star of David": { + "emoji": "✡️" + }, + "wheel of dharma": { + "emoji": "☸️" + }, + "yin yang": { + "emoji": "☯️" + }, + "latin cross": { + "emoji": "✝️" + }, + "orthodox cross": { + "emoji": "☦️" + }, + "star and crescent": { + "emoji": "☪️" + }, + "peace symbol": { + "emoji": "☮️" + }, + "menorah": { + "emoji": "🕎" + }, + "dotted six-pointed star": { + "emoji": "🔯" + }, + "Aries": { + "emoji": "♈" + }, + "Taurus": { + "emoji": "♉" + }, + "Gemini": { + "emoji": "♊" + }, + "Cancer": { + "emoji": "♋" + }, + "Leo": { + "emoji": "♌" + }, + "Virgo": { + "emoji": "♍" + }, + "Libra": { + "emoji": "♎" + }, + "Scorpio": { + "emoji": "♏" + }, + "Sagittarius": { + "emoji": "♐" + }, + "Capricorn": { + "emoji": "♑" + }, + "Aquarius": { + "emoji": "♒" + }, + "Pisces": { + "emoji": "♓" + }, + "Ophiuchus": { + "emoji": "⛎" + }, + "shuffle tracks button": { + "emoji": "🔀" + }, + "repeat button": { + "emoji": "🔁" + }, + "repeat single button": { + "emoji": "🔂" + }, + "play button": { + "emoji": "▶️" + }, + "fast-forward button": { + "emoji": "⏩" + }, + "next track button": { + "emoji": "⏭️" + }, + "play or pause button": { + "emoji": "⏯️" + }, + "reverse button": { + "emoji": "◀️" + }, + "fast reverse button": { + "emoji": "⏪" + }, + "last track button": { + "emoji": "⏮️" + }, + "upwards button": { + "emoji": "🔼" + }, + "fast up button": { + "emoji": "⏫" + }, + "downwards button": { + "emoji": "🔽" + }, + "fast down button": { + "emoji": "⏬" + }, + "pause button": { + "emoji": "⏸️" + }, + "stop button": { + "emoji": "⏹️" + }, + "record button": { + "emoji": "⏺️" + }, + "eject button": { + "emoji": "⏏️" + }, + "cinema": { + "emoji": "🎦" + }, + "dim button": { + "emoji": "🔅" + }, + "bright button": { + "emoji": "🔆" + }, + "antenna bars": { + "emoji": "📶" + }, + "vibration mode": { + "emoji": "📳" + }, + "mobile phone off": { + "emoji": "📴" + }, + "female sign": { + "emoji": "♀️" + }, + "male sign": { + "emoji": "♂️" + }, + "transgender symbol": { + "emoji": "⚧️" + }, + "multiply": { + "emoji": "✖️" + }, + "plus": { + "emoji": "➕" + }, + "minus": { + "emoji": "➖" + }, + "divide": { + "emoji": "➗" + }, + "infinity": { + "emoji": "♾️" + }, + "double exclamation mark": { + "emoji": "‼️" + }, + "exclamation question mark": { + "emoji": "⁉️" + }, + "question mark": { + "emoji": "❓" + }, + "white question mark": { + "emoji": "❔" + }, + "white exclamation mark": { + "emoji": "❕" + }, + "exclamation mark": { + "emoji": "❗" + }, + "wavy dash": { + "emoji": "〰️" + }, + "currency exchange": { + "emoji": "💱" + }, + "heavy dollar sign": { + "emoji": "💲" + }, + "medical symbol": { + "emoji": "⚕️" + }, + "recycling symbol": { + "emoji": "♻️" + }, + "fleur-de-lis": { + "emoji": "⚜️" + }, + "trident emblem": { + "emoji": "🔱" + }, + "name badge": { + "emoji": "📛" + }, + "Japanese symbol for beginner": { + "emoji": "🔰" + }, + "hollow red circle": { + "emoji": "⭕" + }, + "check mark button": { + "emoji": "✅" + }, + "check box with check": { + "emoji": "☑️" + }, + "check mark": { + "emoji": "✔️" + }, + "cross mark": { + "emoji": "❌" + }, + "cross mark button": { + "emoji": "❎" + }, + "curly loop": { + "emoji": "➰" + }, + "double curly loop": { + "emoji": "➿" + }, + "part alternation mark": { + "emoji": "〽️" + }, + "eight-spoked asterisk": { + "emoji": "✳️" + }, + "eight-pointed star": { + "emoji": "✴️" + }, + "sparkle": { + "emoji": "❇️" + }, + "copyright": { + "emoji": "©️" + }, + "registered": { + "emoji": "®️" + }, + "trade mark": { + "emoji": "™️" + }, + "keycap: #": { + "emoji": "#️⃣" + }, + "keycap: *": { + "emoji": "*️⃣" + }, + "keycap: 0": { + "emoji": "0️⃣" + }, + "keycap: 1": { + "emoji": "1️⃣" + }, + "keycap: 2": { + "emoji": "2️⃣" + }, + "keycap: 3": { + "emoji": "3️⃣" + }, + "keycap: 4": { + "emoji": "4️⃣" + }, + "keycap: 5": { + "emoji": "5️⃣" + }, + "keycap: 6": { + "emoji": "6️⃣" + }, + "keycap: 7": { + "emoji": "7️⃣" + }, + "keycap: 8": { + "emoji": "8️⃣" + }, + "keycap: 9": { + "emoji": "9️⃣" + }, + "keycap: 10": { + "emoji": "🔟" + }, + "input latin uppercase": { + "emoji": "🔠" + }, + "input latin lowercase": { + "emoji": "🔡" + }, + "input numbers": { + "emoji": "🔢" + }, + "input symbols": { + "emoji": "🔣" + }, + "input latin letters": { + "emoji": "🔤" + }, + "A button (blood type)": { + "emoji": "🅰️" + }, + "AB button (blood type)": { + "emoji": "🆎" + }, + "B button (blood type)": { + "emoji": "🅱️" + }, + "CL button": { + "emoji": "🆑" + }, + "COOL button": { + "emoji": "🆒" + }, + "FREE button": { + "emoji": "🆓" + }, + "information": { + "emoji": "ℹ️" + }, + "ID button": { + "emoji": "🆔" + }, + "circled M": { + "emoji": "Ⓜ️" + }, + "NEW button": { + "emoji": "🆕" + }, + "NG button": { + "emoji": "🆖" + }, + "O button (blood type)": { + "emoji": "🅾️" + }, + "OK button": { + "emoji": "🆗" + }, + "P button": { + "emoji": "🅿️" + }, + "SOS button": { + "emoji": "🆘" + }, + "UP! button": { + "emoji": "🆙" + }, + "VS button": { + "emoji": "🆚" + }, + "Japanese “here” button": { + "emoji": "🈁" + }, + "Japanese “service charge” button": { + "emoji": "🈂️" + }, + "Japanese “monthly amount” button": { + "emoji": "🈷️" + }, + "Japanese “not free of charge” button": { + "emoji": "🈶" + }, + "Japanese “reserved” button": { + "emoji": "🈯" + }, + "Japanese “bargain” button": { + "emoji": "🉐" + }, + "Japanese “discount” button": { + "emoji": "🈹" + }, + "Japanese “free of charge” button": { + "emoji": "🈚" + }, + "Japanese “prohibited” button": { + "emoji": "🈲" + }, + "Japanese “acceptable” button": { + "emoji": "🉑" + }, + "Japanese “application” button": { + "emoji": "🈸" + }, + "Japanese “passing grade” button": { + "emoji": "🈴" + }, + "Japanese “vacancy” button": { + "emoji": "🈳" + }, + "Japanese “congratulations” button": { + "emoji": "㊗️" + }, + "Japanese “secret” button": { + "emoji": "㊙️" + }, + "Japanese “open for business” button": { + "emoji": "🈺" + }, + "Japanese “no vacancy” button": { + "emoji": "🈵" + }, + "red circle": { + "emoji": "🔴" + }, + "orange circle": { + "emoji": "🟠" + }, + "yellow circle": { + "emoji": "🟡" + }, + "green circle": { + "emoji": "🟢" + }, + "blue circle": { + "emoji": "🔵" + }, + "purple circle": { + "emoji": "🟣" + }, + "brown circle": { + "emoji": "🟤" + }, + "black circle": { + "emoji": "⚫" + }, + "white circle": { + "emoji": "⚪" + }, + "red square": { + "emoji": "🟥" + }, + "orange square": { + "emoji": "🟧" + }, + "yellow square": { + "emoji": "🟨" + }, + "green square": { + "emoji": "🟩" + }, + "blue square": { + "emoji": "🟦" + }, + "purple square": { + "emoji": "🟪" + }, + "brown square": { + "emoji": "🟫" + }, + "black large square": { + "emoji": "⬛" + }, + "white large square": { + "emoji": "⬜" + }, + "black medium square": { + "emoji": "◼️" + }, + "white medium square": { + "emoji": "◻️" + }, + "black medium-small square": { + "emoji": "◾" + }, + "white medium-small square": { + "emoji": "◽" + }, + "black small square": { + "emoji": "▪️" + }, + "white small square": { + "emoji": "▫️" + }, + "large orange diamond": { + "emoji": "🔶" + }, + "large blue diamond": { + "emoji": "🔷" + }, + "small orange diamond": { + "emoji": "🔸" + }, + "small blue diamond": { + "emoji": "🔹" + }, + "red triangle pointed up": { + "emoji": "🔺" + }, + "red triangle pointed down": { + "emoji": "🔻" + }, + "diamond with a dot": { + "emoji": "💠" + }, + "radio button": { + "emoji": "🔘" + }, + "white square button": { + "emoji": "🔳" + }, + "black square button": { + "emoji": "🔲" + }, + "chequered flag": { + "emoji": "🏁" + }, + "triangular flag": { + "emoji": "🚩" + }, + "crossed flags": { + "emoji": "🎌" + }, + "black flag": { + "emoji": "🏴" + }, + "white flag": { + "emoji": "🏳️" + }, + "rainbow flag": { + "emoji": "🏳️‍🌈" + }, + "transgender flag": { + "emoji": "🏳️‍⚧️" + }, + "pirate flag": { + "emoji": "🏴‍☠️" + }, + "flag: Ascension Island": { + "emoji": "🇦🇨" + }, + "flag: Andorra": { + "emoji": "🇦🇩" + }, + "flag: United Arab Emirates": { + "emoji": "🇦🇪" + }, + "flag: Afghanistan": { + "emoji": "🇦🇫" + }, + "flag: Antigua & Barbuda": { + "emoji": "🇦🇬" + }, + "flag: Anguilla": { + "emoji": "🇦🇮" + }, + "flag: Albania": { + "emoji": "🇦🇱" + }, + "flag: Armenia": { + "emoji": "🇦🇲" + }, + "flag: Angola": { + "emoji": "🇦🇴" + }, + "flag: Antarctica": { + "emoji": "🇦🇶" + }, + "flag: Argentina": { + "emoji": "🇦🇷" + }, + "flag: American Samoa": { + "emoji": "🇦🇸" + }, + "flag: Austria": { + "emoji": "🇦🇹" + }, + "flag: Australia": { + "emoji": "🇦🇺" + }, + "flag: Aruba": { + "emoji": "🇦🇼" + }, + "flag: Åland Islands": { + "emoji": "🇦🇽" + }, + "flag: Azerbaijan": { + "emoji": "🇦🇿" + }, + "flag: Bosnia & Herzegovina": { + "emoji": "🇧🇦" + }, + "flag: Barbados": { + "emoji": "🇧🇧" + }, + "flag: Bangladesh": { + "emoji": "🇧🇩" + }, + "flag: Belgium": { + "emoji": "🇧🇪" + }, + "flag: Burkina Faso": { + "emoji": "🇧🇫" + }, + "flag: Bulgaria": { + "emoji": "🇧🇬" + }, + "flag: Bahrain": { + "emoji": "🇧🇭" + }, + "flag: Burundi": { + "emoji": "🇧🇮" + }, + "flag: Benin": { + "emoji": "🇧🇯" + }, + "flag: St. Barthélemy": { + "emoji": "🇧🇱" + }, + "flag: Bermuda": { + "emoji": "🇧🇲" + }, + "flag: Brunei": { + "emoji": "🇧🇳" + }, + "flag: Bolivia": { + "emoji": "🇧🇴" + }, + "flag: Caribbean Netherlands": { + "emoji": "🇧🇶" + }, + "flag: Brazil": { + "emoji": "🇧🇷" + }, + "flag: Bahamas": { + "emoji": "🇧🇸" + }, + "flag: Bhutan": { + "emoji": "🇧🇹" + }, + "flag: Bouvet Island": { + "emoji": "🇧🇻" + }, + "flag: Botswana": { + "emoji": "🇧🇼" + }, + "flag: Belarus": { + "emoji": "🇧🇾" + }, + "flag: Belize": { + "emoji": "🇧🇿" + }, + "flag: Canada": { + "emoji": "🇨🇦" + }, + "flag: Cocos (Keeling) Islands": { + "emoji": "🇨🇨" + }, + "flag: Congo - Kinshasa": { + "emoji": "🇨🇩" + }, + "flag: Central African Republic": { + "emoji": "🇨🇫" + }, + "flag: Congo - Brazzaville": { + "emoji": "🇨🇬" + }, + "flag: Switzerland": { + "emoji": "🇨🇭" + }, + "flag: Côte d’Ivoire": { + "emoji": "🇨🇮" + }, + "flag: Cook Islands": { + "emoji": "🇨🇰" + }, + "flag: Chile": { + "emoji": "🇨🇱" + }, + "flag: Cameroon": { + "emoji": "🇨🇲" + }, + "flag: China": { + "emoji": "🇨🇳" + }, + "flag: Colombia": { + "emoji": "🇨🇴" + }, + "flag: Clipperton Island": { + "emoji": "🇨🇵" + }, + "flag: Costa Rica": { + "emoji": "🇨🇷" + }, + "flag: Cuba": { + "emoji": "🇨🇺" + }, + "flag: Cape Verde": { + "emoji": "🇨🇻" + }, + "flag: Curaçao": { + "emoji": "🇨🇼" + }, + "flag: Christmas Island": { + "emoji": "🇨🇽" + }, + "flag: Cyprus": { + "emoji": "🇨🇾" + }, + "flag: Czechia": { + "emoji": "🇨🇿" + }, + "flag: Germany": { + "emoji": "🇩🇪" + }, + "flag: Diego Garcia": { + "emoji": "🇩🇬" + }, + "flag: Djibouti": { + "emoji": "🇩🇯" + }, + "flag: Denmark": { + "emoji": "🇩🇰" + }, + "flag: Dominica": { + "emoji": "🇩🇲" + }, + "flag: Dominican Republic": { + "emoji": "🇩🇴" + }, + "flag: Algeria": { + "emoji": "🇩🇿" + }, + "flag: Ceuta & Melilla": { + "emoji": "🇪🇦" + }, + "flag: Ecuador": { + "emoji": "🇪🇨" + }, + "flag: Estonia": { + "emoji": "🇪🇪" + }, + "flag: Egypt": { + "emoji": "🇪🇬" + }, + "flag: Western Sahara": { + "emoji": "🇪🇭" + }, + "flag: Eritrea": { + "emoji": "🇪🇷" + }, + "flag: Spain": { + "emoji": "🇪🇸" + }, + "flag: Ethiopia": { + "emoji": "🇪🇹" + }, + "flag: European Union": { + "emoji": "🇪🇺" + }, + "flag: Finland": { + "emoji": "🇫🇮" + }, + "flag: Fiji": { + "emoji": "🇫🇯" + }, + "flag: Falkland Islands": { + "emoji": "🇫🇰" + }, + "flag: Micronesia": { + "emoji": "🇫🇲" + }, + "flag: Faroe Islands": { + "emoji": "🇫🇴" + }, + "flag: France": { + "emoji": "🇫🇷" + }, + "flag: Gabon": { + "emoji": "🇬🇦" + }, + "flag: United Kingdom": { + "emoji": "🇬🇧" + }, + "flag: Grenada": { + "emoji": "🇬🇩" + }, + "flag: Georgia": { + "emoji": "🇬🇪" + }, + "flag: French Guiana": { + "emoji": "🇬🇫" + }, + "flag: Guernsey": { + "emoji": "🇬🇬" + }, + "flag: Ghana": { + "emoji": "🇬🇭" + }, + "flag: Gibraltar": { + "emoji": "🇬🇮" + }, + "flag: Greenland": { + "emoji": "🇬🇱" + }, + "flag: Gambia": { + "emoji": "🇬🇲" + }, + "flag: Guinea": { + "emoji": "🇬🇳" + }, + "flag: Guadeloupe": { + "emoji": "🇬🇵" + }, + "flag: Equatorial Guinea": { + "emoji": "🇬🇶" + }, + "flag: Greece": { + "emoji": "🇬🇷" + }, + "flag: South Georgia & South Sandwich Islands": { + "emoji": "🇬🇸" + }, + "flag: Guatemala": { + "emoji": "🇬🇹" + }, + "flag: Guam": { + "emoji": "🇬🇺" + }, + "flag: Guinea-Bissau": { + "emoji": "🇬🇼" + }, + "flag: Guyana": { + "emoji": "🇬🇾" + }, + "flag: Hong Kong SAR China": { + "emoji": "🇭🇰" + }, + "flag: Heard & McDonald Islands": { + "emoji": "🇭🇲" + }, + "flag: Honduras": { + "emoji": "🇭🇳" + }, + "flag: Croatia": { + "emoji": "🇭🇷" + }, + "flag: Haiti": { + "emoji": "🇭🇹" + }, + "flag: Hungary": { + "emoji": "🇭🇺" + }, + "flag: Canary Islands": { + "emoji": "🇮🇨" + }, + "flag: Indonesia": { + "emoji": "🇮🇩" + }, + "flag: Ireland": { + "emoji": "🇮🇪" + }, + "flag: Israel": { + "emoji": "🇮🇱" + }, + "flag: Isle of Man": { + "emoji": "🇮🇲" + }, + "flag: India": { + "emoji": "🇮🇳" + }, + "flag: British Indian Ocean Territory": { + "emoji": "🇮🇴" + }, + "flag: Iraq": { + "emoji": "🇮🇶" + }, + "flag: Iran": { + "emoji": "🇮🇷" + }, + "flag: Iceland": { + "emoji": "🇮🇸" + }, + "flag: Italy": { + "emoji": "🇮🇹" + }, + "flag: Jersey": { + "emoji": "🇯🇪" + }, + "flag: Jamaica": { + "emoji": "🇯🇲" + }, + "flag: Jordan": { + "emoji": "🇯🇴" + }, + "flag: Japan": { + "emoji": "🇯🇵" + }, + "flag: Kenya": { + "emoji": "🇰🇪" + }, + "flag: Kyrgyzstan": { + "emoji": "🇰🇬" + }, + "flag: Cambodia": { + "emoji": "🇰🇭" + }, + "flag: Kiribati": { + "emoji": "🇰🇮" + }, + "flag: Comoros": { + "emoji": "🇰🇲" + }, + "flag: St. Kitts & Nevis": { + "emoji": "🇰🇳" + }, + "flag: North Korea": { + "emoji": "🇰🇵" + }, + "flag: South Korea": { + "emoji": "🇰🇷" + }, + "flag: Kuwait": { + "emoji": "🇰🇼" + }, + "flag: Cayman Islands": { + "emoji": "🇰🇾" + }, + "flag: Kazakhstan": { + "emoji": "🇰🇿" + }, + "flag: Laos": { + "emoji": "🇱🇦" + }, + "flag: Lebanon": { + "emoji": "🇱🇧" + }, + "flag: St. Lucia": { + "emoji": "🇱🇨" + }, + "flag: Liechtenstein": { + "emoji": "🇱🇮" + }, + "flag: Sri Lanka": { + "emoji": "🇱🇰" + }, + "flag: Liberia": { + "emoji": "🇱🇷" + }, + "flag: Lesotho": { + "emoji": "🇱🇸" + }, + "flag: Lithuania": { + "emoji": "🇱🇹" + }, + "flag: Luxembourg": { + "emoji": "🇱🇺" + }, + "flag: Latvia": { + "emoji": "🇱🇻" + }, + "flag: Libya": { + "emoji": "🇱🇾" + }, + "flag: Morocco": { + "emoji": "🇲🇦" + }, + "flag: Monaco": { + "emoji": "🇲🇨" + }, + "flag: Moldova": { + "emoji": "🇲🇩" + }, + "flag: Montenegro": { + "emoji": "🇲🇪" + }, + "flag: St. Martin": { + "emoji": "🇲🇫" + }, + "flag: Madagascar": { + "emoji": "🇲🇬" + }, + "flag: Marshall Islands": { + "emoji": "🇲🇭" + }, + "flag: North Macedonia": { + "emoji": "🇲🇰" + }, + "flag: Mali": { + "emoji": "🇲🇱" + }, + "flag: Myanmar (Burma)": { + "emoji": "🇲🇲" + }, + "flag: Mongolia": { + "emoji": "🇲🇳" + }, + "flag: Macao SAR China": { + "emoji": "🇲🇴" + }, + "flag: Northern Mariana Islands": { + "emoji": "🇲🇵" + }, + "flag: Martinique": { + "emoji": "🇲🇶" + }, + "flag: Mauritania": { + "emoji": "🇲🇷" + }, + "flag: Montserrat": { + "emoji": "🇲🇸" + }, + "flag: Malta": { + "emoji": "🇲🇹" + }, + "flag: Mauritius": { + "emoji": "🇲🇺" + }, + "flag: Maldives": { + "emoji": "🇲🇻" + }, + "flag: Malawi": { + "emoji": "🇲🇼" + }, + "flag: Mexico": { + "emoji": "🇲🇽" + }, + "flag: Malaysia": { + "emoji": "🇲🇾" + }, + "flag: Mozambique": { + "emoji": "🇲🇿" + }, + "flag: Namibia": { + "emoji": "🇳🇦" + }, + "flag: New Caledonia": { + "emoji": "🇳🇨" + }, + "flag: Niger": { + "emoji": "🇳🇪" + }, + "flag: Norfolk Island": { + "emoji": "🇳🇫" + }, + "flag: Nigeria": { + "emoji": "🇳🇬" + }, + "flag: Nicaragua": { + "emoji": "🇳🇮" + }, + "flag: Netherlands": { + "emoji": "🇳🇱" + }, + "flag: Norway": { + "emoji": "🇳🇴" + }, + "flag: Nepal": { + "emoji": "🇳🇵" + }, + "flag: Nauru": { + "emoji": "🇳🇷" + }, + "flag: Niue": { + "emoji": "🇳🇺" + }, + "flag: New Zealand": { + "emoji": "🇳🇿" + }, + "flag: Oman": { + "emoji": "🇴🇲" + }, + "flag: Panama": { + "emoji": "🇵🇦" + }, + "flag: Peru": { + "emoji": "🇵🇪" + }, + "flag: French Polynesia": { + "emoji": "🇵🇫" + }, + "flag: Papua New Guinea": { + "emoji": "🇵🇬" + }, + "flag: Philippines": { + "emoji": "🇵🇭" + }, + "flag: Pakistan": { + "emoji": "🇵🇰" + }, + "flag: Poland": { + "emoji": "🇵🇱" + }, + "flag: St. Pierre & Miquelon": { + "emoji": "🇵🇲" + }, + "flag: Pitcairn Islands": { + "emoji": "🇵🇳" + }, + "flag: Puerto Rico": { + "emoji": "🇵🇷" + }, + "flag: Palestinian Territories": { + "emoji": "🇵🇸" + }, + "flag: Portugal": { + "emoji": "🇵🇹" + }, + "flag: Palau": { + "emoji": "🇵🇼" + }, + "flag: Paraguay": { + "emoji": "🇵🇾" + }, + "flag: Qatar": { + "emoji": "🇶🇦" + }, + "flag: Réunion": { + "emoji": "🇷🇪" + }, + "flag: Romania": { + "emoji": "🇷🇴" + }, + "flag: Serbia": { + "emoji": "🇷🇸" + }, + "flag: Russia": { + "emoji": "🇷🇺" + }, + "flag: Rwanda": { + "emoji": "🇷🇼" + }, + "flag: Saudi Arabia": { + "emoji": "🇸🇦" + }, + "flag: Solomon Islands": { + "emoji": "🇸🇧" + }, + "flag: Seychelles": { + "emoji": "🇸🇨" + }, + "flag: Sudan": { + "emoji": "🇸🇩" + }, + "flag: Sweden": { + "emoji": "🇸🇪" + }, + "flag: Singapore": { + "emoji": "🇸🇬" + }, + "flag: St. Helena": { + "emoji": "🇸🇭" + }, + "flag: Slovenia": { + "emoji": "🇸🇮" + }, + "flag: Svalbard & Jan Mayen": { + "emoji": "🇸🇯" + }, + "flag: Slovakia": { + "emoji": "🇸🇰" + }, + "flag: Sierra Leone": { + "emoji": "🇸🇱" + }, + "flag: San Marino": { + "emoji": "🇸🇲" + }, + "flag: Senegal": { + "emoji": "🇸🇳" + }, + "flag: Somalia": { + "emoji": "🇸🇴" + }, + "flag: Suriname": { + "emoji": "🇸🇷" + }, + "flag: South Sudan": { + "emoji": "🇸🇸" + }, + "flag: São Tomé & Príncipe": { + "emoji": "🇸🇹" + }, + "flag: El Salvador": { + "emoji": "🇸🇻" + }, + "flag: Sint Maarten": { + "emoji": "🇸🇽" + }, + "flag: Syria": { + "emoji": "🇸🇾" + }, + "flag: Eswatini": { + "emoji": "🇸🇿" + }, + "flag: Tristan da Cunha": { + "emoji": "🇹🇦" + }, + "flag: Turks & Caicos Islands": { + "emoji": "🇹🇨" + }, + "flag: Chad": { + "emoji": "🇹🇩" + }, + "flag: French Southern Territories": { + "emoji": "🇹🇫" + }, + "flag: Togo": { + "emoji": "🇹🇬" + }, + "flag: Thailand": { + "emoji": "🇹🇭" + }, + "flag: Tajikistan": { + "emoji": "🇹🇯" + }, + "flag: Tokelau": { + "emoji": "🇹🇰" + }, + "flag: Timor-Leste": { + "emoji": "🇹🇱" + }, + "flag: Turkmenistan": { + "emoji": "🇹🇲" + }, + "flag: Tunisia": { + "emoji": "🇹🇳" + }, + "flag: Tonga": { + "emoji": "🇹🇴" + }, + "flag: Turkey": { + "emoji": "🇹🇷" + }, + "flag: Trinidad & Tobago": { + "emoji": "🇹🇹" + }, + "flag: Tuvalu": { + "emoji": "🇹🇻" + }, + "flag: Taiwan": { + "emoji": "🇹🇼" + }, + "flag: Tanzania": { + "emoji": "🇹🇿" + }, + "flag: Ukraine": { + "emoji": "🇺🇦" + }, + "flag: Uganda": { + "emoji": "🇺🇬" + }, + "flag: U.S. Outlying Islands": { + "emoji": "🇺🇲" + }, + "flag: United Nations": { + "emoji": "🇺🇳" + }, + "flag: United States": { + "emoji": "🇺🇸" + }, + "flag: Uruguay": { + "emoji": "🇺🇾" + }, + "flag: Uzbekistan": { + "emoji": "🇺🇿" + }, + "flag: Vatican City": { + "emoji": "🇻🇦" + }, + "flag: St. Vincent & Grenadines": { + "emoji": "🇻🇨" + }, + "flag: Venezuela": { + "emoji": "🇻🇪" + }, + "flag: British Virgin Islands": { + "emoji": "🇻🇬" + }, + "flag: U.S. Virgin Islands": { + "emoji": "🇻🇮" + }, + "flag: Vietnam": { + "emoji": "🇻🇳" + }, + "flag: Vanuatu": { + "emoji": "🇻🇺" + }, + "flag: Wallis & Futuna": { + "emoji": "🇼🇫" + }, + "flag: Samoa": { + "emoji": "🇼🇸" + }, + "flag: Kosovo": { + "emoji": "🇽🇰" + }, + "flag: Yemen": { + "emoji": "🇾🇪" + }, + "flag: Mayotte": { + "emoji": "🇾🇹" + }, + "flag: South Africa": { + "emoji": "🇿🇦" + }, + "flag: Zambia": { + "emoji": "🇿🇲" + }, + "flag: Zimbabwe": { + "emoji": "🇿🇼" + }, + "flag: England": { + "emoji": "🏴󠁧󠁢󠁥󠁮󠁧󠁿" + }, + "flag: Scotland": { + "emoji": "🏴󠁧󠁢󠁳󠁣󠁴󠁿" + }, + "flag: Wales": { + "emoji": "🏴󠁧󠁢󠁷󠁬󠁳󠁿" + } +} diff --git a/src/pages/index.js b/src/pages/index.js index 4dcc39d..bbc157c 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -5,6 +5,7 @@ import Link from 'next/link' import LoadingIndicator from '../components/LoadingIndicator' import Sleep from '../components/sleep' +import NewsEntry from '../components/newsEntry' import DbSelector from '../components/dbSelector.js' import styles from './index.module.css' @@ -21,77 +22,67 @@ const links = { }, } -export default function Index(props) { - const [news, setNews] = useState(null) - const [allQrSelector, setAllQrSelector] = useState(null) - const motd = props.globalData.motd - // const userSpecificMotd = props.globalData.userSpecificMotd - - useEffect(() => { - console.info('Fetching news.json') +function fetchNews() { + return new Promise((resolve) => { fetch(`${constants.apiUrl}news.json`, { credentials: 'include', }) .then((resp) => { return resp.json() }) - .then((data) => { - setNews(data) + .then((res) => { + resolve(res) }) + }) +} + +export default function Index({ globalData }) { + const userId = globalData.userId + const motd = globalData.motd + const [news, setNews] = useState(null) + const [allQrSelector, setAllQrSelector] = useState(null) + // const userSpecificMotd = props.globalData.userSpecificMotd + + useEffect(() => { + console.info('Fetching news.json') + fetchNews().then((res) => { + setNews(res) + }) }, []) - const renderQAItem = (newsItem, key) => { - return ( -
-
{key} :
-
-
-
- ) - } - - const renderNewsItem = (newsItem, key) => { - return ( -
-
{key} :
-
-
-
- ) - } - const renderNews = () => { if (news) { - let questions = Object.keys(news) + let newsItems = Object.keys(news) .map((key) => { - let newsItem = news[key] - if (newsItem.q) { - return ( -
- {renderQAItem(newsItem, key)} -
-
- ) - } else { - return ( -
- {renderNewsItem(newsItem, key)} -
-
- ) - } + let newsEntryData = news[key] + return ( + { + console.log(reaction, isDelete) + fetch(constants.apiUrl + 'infos', { + method: 'POST', + credentials: 'include', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + react: reaction, + newsKey: key, + isDelete: isDelete, + }), + }).then((res) => { + fetchNews().then((res) => { + setNews(res) + }) + }) + }} + uid={userId} + key={key} + newsKey={key} + newsItem={newsEntryData} + /> + ) }) .reverse() @@ -100,7 +91,7 @@ export default function Index(props) {
News


-
{questions}
+
{newsItems}
) } else { diff --git a/src/pages/index.module.css b/src/pages/index.module.css index e29b3ae..bab4ce3 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -30,20 +30,6 @@ margin: 5px; } -.itemContainer { - margin: 20px 5px; -} - -.itemContainer:hover { - background-color: var(--hoover-color); -} - -.newsBody { - margin: 0px 5px; - font-size: 18px; - color: #fff; -} - .title { color: #9999ff; font-size: 30px; @@ -56,12 +42,6 @@ text-align: center; } -.newsTitle { - font-size: 28px; - color: var(--text-color); - margin: 0px 5px; -} - .question { font-weight: 'bold'; font-size: 16px; @@ -73,12 +53,6 @@ margin: 0px 5px; } -.itemNumber { - color: #fff; - margin: 0px 5px; - font-size: 24px; -} - .repos { display: flex; flex-direction: column; From 71911063b0107e5b22311a970387c0254fe8e7b1 Mon Sep 17 00:00:00 2001 From: mrfry Date: Thu, 4 Mar 2021 21:31:32 +0100 Subject: [PATCH 06/14] Added comments to news items --- src/components/comments.js | 169 ++++++++++++++++++++++++++ src/components/comments.module.css | 80 ++++++++++++ src/components/newsEntry.js | 33 ++++- src/components/reactButton.js | 3 + src/components/reactButton.module.css | 10 +- src/components/tooltip.js | 8 +- src/components/tooltip.module.css | 1 - src/constants.json | 2 +- src/pages/index.js | 73 ++++++++++- 9 files changed, 357 insertions(+), 22 deletions(-) create mode 100644 src/components/comments.js create mode 100644 src/components/comments.module.css diff --git a/src/components/comments.js b/src/components/comments.js new file mode 100644 index 0000000..909e573 --- /dev/null +++ b/src/components/comments.js @@ -0,0 +1,169 @@ +import React, { useState } from 'react' + +import ReactButton from './reactButton.js' + +import styles from './comments.module.css' + +function CommentInput({ onSubmit }) { + const [val, setVal] = useState('') + return ( +
+