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,