diff --git a/packages/ui/lang/en.json b/packages/ui/lang/en.json
index b3e011d7ef..953c3fc73c 100644
--- a/packages/ui/lang/en.json
+++ b/packages/ui/lang/en.json
@@ -73,6 +73,7 @@
"YYYY": "YYYY",
"HH": "HH",
"GettingWorkDone": "Getting work done",
+ "ExpressYourself": "Express yourself",
"Smileys": "Smileys",
"Nature": "Nature",
"Symbols": "Symbols",
@@ -94,4 +95,4 @@
"UseMaxWidth": "Max width",
"Sidebar": "Sidebar"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/lang/es.json b/packages/ui/lang/es.json
index 1ab933123c..dc48e4cc58 100644
--- a/packages/ui/lang/es.json
+++ b/packages/ui/lang/es.json
@@ -73,6 +73,7 @@
"YYYY": "AAAA",
"HH": "HH",
"GettingWorkDone": "Haciendo el trabajo",
+ "ExpressYourself": "Exprésate",
"Smileys": "Emoticonos",
"Nature": "Naturaleza",
"Symbols": "Símbolos",
@@ -94,4 +95,4 @@
"UseMaxWidth": "Ancho máximo",
"Sidebar": "Barra lateral"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/lang/fr.json b/packages/ui/lang/fr.json
index e9b9a9aa05..124d6c56ce 100644
--- a/packages/ui/lang/fr.json
+++ b/packages/ui/lang/fr.json
@@ -73,6 +73,7 @@
"YYYY": "AAAA",
"HH": "HH",
"GettingWorkDone": "Faire le travail",
+ "ExpressYourself": "Exprime-toi",
"Smileys": "Émoticônes",
"Nature": "Nature",
"Symbols": "Symboles",
@@ -94,4 +95,4 @@
"UseMaxWidth": "Largeur maximale",
"Sidebar": "Barre latérale"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/lang/pt.json b/packages/ui/lang/pt.json
index 6054202dca..5a0f06231f 100644
--- a/packages/ui/lang/pt.json
+++ b/packages/ui/lang/pt.json
@@ -73,6 +73,7 @@
"YYYY": "AAAA",
"HH": "HH",
"GettingWorkDone": "A fazer",
+ "ExpressYourself": "Expressa-te",
"Smileys": "Emoticons",
"Nature": "Natureza",
"Symbols": "Símbolos",
@@ -94,4 +95,4 @@
"UseMaxWidth": "Largura máxima",
"Sidebar": "Barra lateral"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/lang/ru.json b/packages/ui/lang/ru.json
index 5ea14ee1d1..89c01ac867 100644
--- a/packages/ui/lang/ru.json
+++ b/packages/ui/lang/ru.json
@@ -73,6 +73,7 @@
"YYYY": "ГГГГ",
"HH": "ЧЧ",
"GettingWorkDone": "Для работы",
+ "ExpressYourself": "Вырази себя",
"Smileys": "Смайлики",
"Nature": "Природа",
"Symbols": "Символы",
@@ -94,4 +95,4 @@
"UseMaxWidth": "Максимальная ширина",
"Sidebar": "Боковая панель"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/lang/zh.json b/packages/ui/lang/zh.json
index e57eee5a01..b4bd0a6462 100644
--- a/packages/ui/lang/zh.json
+++ b/packages/ui/lang/zh.json
@@ -73,6 +73,7 @@
"YYYY": "年",
"HH": "小时",
"GettingWorkDone": "完成工作",
+ "ExpressYourself": "表达自己",
"Smileys": "表情符号",
"Nature": "自然",
"Symbols": "符号",
@@ -94,4 +95,4 @@
"UseMaxWidth": "使用最大宽度",
"Sidebar": "侧边栏"
}
-}
\ No newline at end of file
+}
diff --git a/packages/ui/src/components/EmojiPopup.svelte b/packages/ui/src/components/EmojiPopup.svelte
index e686737591..161d029c55 100644
--- a/packages/ui/src/components/EmojiPopup.svelte
+++ b/packages/ui/src/components/EmojiPopup.svelte
@@ -12,6 +12,7 @@
import Places from './icons/Places.svelte'
import Symbols from './icons/Symbols.svelte'
import Work from './icons/Work.svelte'
+ import Palette from './icons/Palette.svelte'
import { tooltip } from '../tooltips'
import { AnySvelteComponent, emojiSP } from '../types'
@@ -50,9 +51,9 @@
String.fromCodePoint(0x0031, 0xfe0f, 0x20e3),
String.fromCodePoint(0x0032, 0xfe0f, 0x20e3),
String.fromCodePoint(0x0033, 0xfe0f, 0x20e3),
- String.fromCodePoint(0x1f44b, 0x1f3fc),
- String.fromCodePoint(0x1f44d, 0x1f3fc),
- String.fromCodePoint(0x1f44c, 0x1f3fc),
+ String.fromCodePoint(0x1f44b),
+ String.fromCodePoint(0x1f44d),
+ String.fromCodePoint(0x1f44c),
String.fromCodePoint(0x1f525),
String.fromCodePoint(0x1f680)
],
@@ -121,6 +122,19 @@
...getEmojis(0x1f532, 0x1f53d)
],
icon: Symbols
+ },
+ {
+ id: 'express',
+ label: plugin.string.ExpressYourself,
+ emojis: [
+ ...generateSkinToneEmojis(0x1f44b),
+ ...generateSkinToneEmojis(0x1f44d),
+ ...generateSkinToneEmojis(0x1f44c),
+ ...generateSkinToneEmojis(0x1f64c),
+ ...generateSkinToneEmojis(0x1f44f),
+ ...generateSkinToneEmojis(0x1f64f)
+ ],
+ icon: Palette
}
]
@@ -134,6 +148,13 @@
})
}
+ function generateSkinToneEmojis (baseEmoji: number): string[] {
+ const skinTones = [0x1f3fb, 0x1f3fc, 0x1f3fd, 0x1f3fe, 0x1f3ff]
+ return skinTones.map((skinTone) => {
+ return String.fromCodePoint(baseEmoji, skinTone)
+ })
+ }
+
function handleScrollToCategory (categoryId: string) {
const labelElement = document.getElementById(categoryId)
diff --git a/packages/ui/src/components/icons/Palette.svelte b/packages/ui/src/components/icons/Palette.svelte
new file mode 100644
index 0000000000..98d6fa95d6
--- /dev/null
+++ b/packages/ui/src/components/icons/Palette.svelte
@@ -0,0 +1,28 @@
+
+
+
diff --git a/packages/ui/src/plugin.ts b/packages/ui/src/plugin.ts
index 692b003917..1f4be4bde1 100644
--- a/packages/ui/src/plugin.ts
+++ b/packages/ui/src/plugin.ts
@@ -99,6 +99,7 @@ export const uis = plugin(uiId, {
DueDatePopupOverdueDescription: '' as IntlString,
GettingWorkDone: '' as IntlString,
+ ExpressYourself: '' as IntlString,
Smileys: '' as IntlString,
Nature: '' as IntlString,
Symbols: '' as IntlString,