Corp/backend/static/js/data/emoji-ru.js
Игорь Надеин 1127af354e Улучшения UI чата: круглые кнопки, emoji-picker, исправление WebSocket переподключения
- Сделаны круглыми кнопки отправки и прокрутки вниз
- Убран фон у поля ввода сообщений
- Добавлен emoji-picker-element с поддержкой категорий
- Скрыта кнопка выбора тона кожи в emoji picker
- Изменена иконка кнопки отправки на ракету
- Исправлена бесконечная перезагрузка при падении WebSocket
- Добавлено умное переподключение WebSocket с 5 попытками
- Улучшена анимация кнопки прокрутки вниз
2025-11-28 13:07:17 +03:00

344 lines
14 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Русские ключевые слова для поиска эмодзи
* Формат: emoji -> массив русских синонимов
*/
export const emojiRussianKeywords = {
// Смайлики и эмоции
'😀': ['улыбка', 'радость', 'счастье', 'смайлик'],
'😃': ['улыбка', 'радость', 'смайлик'],
'😄': ['смех', 'улыбка', 'радость'],
'😁': ['ухмылка', 'улыбка', 'зубы'],
'😆': ['смех', 'хохот', 'веселье'],
'😅': ['пот', 'облегчение', 'смех'],
'🤣': ['смех', 'хохот', 'ржу'],
'😂': ['слезы', 'смех', 'плакать от смеха'],
'🙂': ['улыбка', 'легкая улыбка'],
'🙃': ['перевернутый', 'сарказм'],
'😉': ['подмигивание', 'намек'],
'😊': ['застенчивый', 'милый', 'улыбка'],
'😇': ['ангел', 'святой', 'невинный'],
'🥰': ['любовь', 'влюблен', 'сердечки'],
'😍': ['любовь', 'влюблен', 'сердце в глазах'],
'🤩': ['звезды', 'восторг', 'вау'],
'😘': ['поцелуй', 'воздушный поцелуй'],
'😗': ['поцелуй', 'губы'],
'😚': ['поцелуй', 'закрытые глаза'],
'😙': ['поцелуй', 'улыбка'],
'🥲': ['слеза', 'трогательно', 'счастье со слезой'],
'😋': ['вкусно', 'язык', 'ням'],
'😛': ['язык', 'дразнить'],
'😜': ['подмигивание', 'язык', 'шутка'],
'🤪': ['безумный', 'сумасшедший', 'веселье'],
'😝': ['язык', 'закрытые глаза'],
'🤑': ['деньги', 'богатство', 'жадность'],
'🤗': ['объятие', 'обнять'],
'🤭': ['ой', 'упс', 'смущение'],
'🤫': ['тсс', 'тихо', 'секрет'],
'🤔': ['думать', 'размышление', 'хм'],
'🤐': ['молчание', 'замок на губах'],
'🤨': ['подозрение', 'скептицизм', 'бровь'],
'😐': ['нейтральный', 'без эмоций'],
'😑': ['без эмоций', 'недовольство'],
'😶': ['без рта', 'молчание'],
'😏': ['ухмылка', 'самодовольство'],
'😒': ['недовольство', 'скука'],
'🙄': ['закатить глаза', 'раздражение'],
'😬': ['неловко', 'смущение', 'зубы'],
'😮': ['удивление', 'шок', 'о'],
'😯': ['удивление', 'ошеломление'],
'😲': ['шок', 'удивление'],
'😳': ['смущение', 'покраснение'],
'🥺': ['умоляющий', 'жалость', 'щенячьи глаза'],
'😦': ['нахмуренный', 'озабоченность'],
'😧': ['тревога', 'страх'],
'😨': ['испуг', 'страх'],
'😰': ['тревога', 'пот', 'нервы'],
'😥': ['грусть', 'облегчение', 'пот'],
'😢': ['слезы', 'плач', 'грусть'],
'😭': ['рыдание', 'плач', 'слезы'],
'😱': ['крик', 'ужас', 'страх'],
'😖': ['смущение', 'разочарование'],
'😣': ['упорство', 'настойчивость'],
'😞': ['разочарование', 'грусть'],
'😓': ['усталость', 'пот', 'стресс'],
'😩': ['усталость', 'стон'],
'😫': ['устал', 'измучен'],
'🥱': ['зевок', 'усталость', 'скука'],
'😤': ['триумф', 'гордость', 'пар из носа'],
'😡': ['злость', 'гнев'],
'😠': ['злой', 'гневный'],
'🤬': ['ругань', 'мат', 'злость'],
'😈': ['дьявол', 'зло', 'рога'],
'👿': ['дьявол', 'злой', 'рога'],
'💀': ['череп', 'смерть', 'умираю'],
'☠️': ['череп', 'яд', 'опасность'],
// Жесты
'👋': ['привет', 'пока', 'махать рукой'],
'🤚': ['рука', 'стоп'],
'🖐️': ['рука', 'пять', 'ладонь'],
'✋': ['стоп', 'рука', 'ладонь'],
'🖖': ['вулканский привет', 'спок'],
'👌': ['ок', 'окей', 'отлично'],
'🤌': ['жест', 'итальянский'],
'🤏': ['маленький', 'чуть-чуть'],
'✌️': ['победа', 'пис', 'два'],
'🤞': ['скрестить пальцы', 'удача'],
'🤟': ['люблю тебя', 'рок'],
'🤘': ['рок', 'рога'],
'🤙': ['позвони', 'телефон'],
'👈': ['влево', 'указать'],
'👉': ['вправо', 'указать'],
'👆': ['вверх', 'указать'],
'👇': ['вниз', 'указать'],
'☝️': ['вверх', 'один'],
'👍': ['лайк', 'класс', 'отлично'],
'👎': ['дизлайк', 'плохо'],
'✊': ['кулак', 'сила'],
'👊': ['кулак', 'удар'],
'🤛': ['кулак', 'удар слева'],
'🤜': ['кулак', 'удар справа'],
'👏': ['аплодисменты', 'хлопать'],
'🙌': ['руки вверх', 'ура', 'праздник'],
'👐': ['открытые руки', 'объятие'],
'🤲': ['молитва', 'просьба'],
'🤝': ['рукопожатие', 'согласие', 'сделка'],
'🙏': ['молитва', 'спасибо', 'пожалуйста'],
// Сердца и любовь
'💘': ['любовь', 'сердце', 'стрела'],
'💝': ['подарок', 'сердце'],
'💖': ['блестящее сердце', 'любовь'],
'💗': ['растущее сердце', 'любовь'],
'💓': ['бьющееся сердце', 'любовь'],
'💞': ['вращающиеся сердца', 'любовь'],
'💕': ['два сердца', 'любовь'],
'💟': ['сердце', 'украшение'],
'❣️': ['восклицание', 'сердце'],
'💔': ['разбитое сердце', 'грусть'],
'❤️': ['красное сердце', 'любовь'],
'🧡': ['оранжевое сердце'],
'💛': ['желтое сердце'],
'💚': ['зеленое сердце'],
'💙': ['синее сердце'],
'💜': ['фиолетовое сердце'],
'🤎': ['коричневое сердце'],
'🖤': ['черное сердце'],
'🤍': ['белое сердце'],
// Животные
'🐶': ['собака', 'пес', 'щенок'],
'🐱': ['кот', 'кошка', 'котенок'],
'🐭': ['мышь', 'мышка'],
'🐹': ['хомяк'],
'🐰': ['кролик', 'зайчик'],
'🦊': ['лиса', 'лисица'],
'🐻': ['медведь', 'мишка'],
'🐼': ['панда'],
'🐨': ['коала'],
'🐯': ['тигр'],
'🦁': ['лев'],
'🐮': ['корова'],
'🐷': ['свинья', 'хрюшка'],
'🐸': ['лягушка'],
'🐵': ['обезьяна'],
'🐔': ['курица'],
'🐧': ['пингвин'],
'🐦': ['птица'],
'🐤': ['цыпленок'],
'🦆': ['утка'],
'🦅': ['орел'],
'🦉': ['сова'],
'🦇': ['летучая мышь'],
'🐺': ['волк'],
'🐗': ['кабан'],
'🐴': ['лошадь', 'конь'],
'🦄': ['единорог'],
'🐝': ['пчела'],
'🐛': ['гусеница', 'червяк'],
'🦋': ['бабочка'],
'🐌': ['улитка'],
'🐞': ['божья коровка'],
'🐢': ['черепаха'],
'🐍': ['змея'],
'🦎': ['ящерица'],
'🐙': ['осьминог'],
'🦀': ['краб'],
'🐡': ['рыба', 'фугу'],
'🐠': ['тропическая рыба'],
'🐟': ['рыба'],
'🐬': ['дельфин'],
'🐳': ['кит'],
'🦈': ['акула'],
// Еда
'🍎': ['яблоко'],
'🍊': ['апельсин'],
'🍋': ['лимон'],
'🍌': ['банан'],
'🍉': ['арбуз'],
'🍇': ['виноград'],
'🍓': ['клубника'],
'🍑': ['персик'],
'🍒': ['вишня'],
'🍍': ['ананас'],
'🥝': ['киви'],
'🥑': ['авокадо'],
'🍅': ['помидор', 'томат'],
'🍆': ['баклажан'],
'🥒': ['огурец'],
'🥕': ['морковь'],
'🌽': ['кукуруза'],
'🌶️': ['перец', 'острый'],
'🥔': ['картофель', 'картошка'],
'🍠': ['батат', 'сладкий картофель'],
'🥐': ['круассан'],
'🥖': ['багет', 'хлеб'],
'🥨': ['крендель'],
'🥞': ['блины'],
'🧀': ['сыр'],
'🍖': ['мясо', 'кость'],
'🍗': ['курица', 'ножка'],
'🥩': ['стейк', 'мясо'],
'🥓': ['бекон'],
'🍔': ['бургер', 'гамбургер'],
'🍟': ['картофель фри', 'фри'],
'🍕': ['пицца'],
'🌭': ['хот-дог'],
'🥪': ['сэндвич', 'бутерброд'],
'🌮': ['тако'],
'🌯': ['буррито'],
'🥙': ['лаваш', 'шаурма'],
'🥚': ['яйцо'],
'🍳': ['яичница'],
'🥘': ['паэлья', 'сковорода'],
'🍲': ['суп', 'рагу'],
'🥣': ['каша', 'миска'],
'🥗': ['салат'],
'🍿': ['попкорн'],
'🧈': ['масло'],
'🧂': ['соль'],
'🥫': ['консервы'],
'🍱': ['бенто', 'ланч'],
'🍘': ['рисовый крекер'],
'🍙': ['онигири'],
'🍚': ['рис'],
'🍛': ['карри'],
'🍜': ['лапша', 'рамен'],
'🍝': ['спагетти', 'паста'],
'🍠': ['батат'],
'🍢': ['оден'],
'🍣': ['суши'],
'🍤': ['креветка жареная'],
'🍥': ['камабоко'],
'🥮': ['лунный пряник'],
'🍡': ['данго'],
'🥟': ['пельмени'],
'🥠': ['печенье с предсказанием'],
'🥡': ['коробка для еды'],
'🦀': ['краб'],
'🦞': ['лобстер'],
'🦐': ['креветка'],
'🦑': ['кальмар'],
'🦪': ['устрица'],
'🍦': ['мороженое'],
'🍧': ['фруктовый лед'],
'🍨': ['мороженое'],
'🍩': ['пончик'],
'🍪': ['печенье'],
'🎂': ['торт', 'день рождения'],
'🍰': ['кусок торта'],
'🧁': ['кекс'],
'🥧': ['пирог'],
'🍫': ['шоколад'],
'🍬': ['конфета'],
'🍭': ['леденец'],
'🍮': ['пудинг'],
'🍯': ['мед'],
'🍼': ['детская бутылочка'],
'🥛': ['молоко'],
'☕': ['кофе', 'чай'],
'🫖': ['чайник'],
'🍵': ['зеленый чай'],
'🍶': ['саке'],
'🍾': ['шампанское'],
'🍷': ['вино'],
'🍸': ['коктейль'],
'🍹': ['тропический напиток'],
'🍺': ['пиво'],
'🍻': ['пиво', 'чирс'],
'🥂': ['бокалы', 'тост'],
'🥃': ['виски', 'стакан'],
'🥤': ['напиток', 'стакан'],
'🧃': ['сок', 'коробка'],
'🧉': ['мате'],
'🧊': ['лед'],
// Праздники и объекты
'🎉': ['праздник', 'вечеринка', 'конфетти'],
'🎊': ['конфетти', 'праздник'],
'🎈': ['шарик', 'воздушный шар'],
'🎁': ['подарок', 'сюрприз'],
'🎀': ['бант', 'лента'],
'🎂': ['торт', 'день рождения'],
'🎄': ['елка', 'новый год', 'рождество'],
'🎅': ['санта', 'дед мороз'],
'🎃': ['тыква', 'хэллоуин'],
'👻': ['привидение', 'призрак'],
'🎆': ['фейерверк', 'салют'],
'🎇': ['бенгальский огонь'],
'✨': ['искры', 'блеск', 'магия'],
'🎈': ['шарик'],
'🎉': ['конфетти', 'праздник'],
// Символы
'❤️': ['сердце', 'любовь'],
'💯': ['сто', 'процентов', 'отлично'],
'💢': ['злость', 'гнев'],
'💥': ['взрыв', 'бум'],
'💫': ['головокружение'],
'💦': ['капли', 'пот'],
'💨': ['ветер', 'быстро'],
'🔥': ['огонь', 'пламя', 'жар'],
'⭐': ['звезда'],
'🌟': ['сияющая звезда'],
'✨': ['искры', 'блеск'],
'⚡': ['молния', 'электричество'],
'☀️': ['солнце'],
'🌙': ['луна', 'месяц'],
'☁️': ['облако'],
'⛅': ['солнце за облаком'],
'⛈️': ['гроза'],
'🌧️': ['дождь'],
'⛄': ['снеговик'],
'❄️': ['снежинка', 'снег'],
'🌈': ['радуга'],
'☂️': ['зонт'],
// Флаги
'🏁': ['финиш', 'флаг'],
'🚩': ['красный флаг'],
'🏴': ['черный флаг'],
'🏳️': ['белый флаг'],
'🏳️‍🌈': ['радужный флаг', 'прайд', 'лгбт'],
'🇷🇺': ['россия', 'российский флаг'],
};
/**
* Функция для поиска эмодзи по русскому запросу
*/
export function searchEmojiRussian(query) {
if (!query) return [];
const lowerQuery = query.toLowerCase().trim();
const results = [];
for (const [emoji, keywords] of Object.entries(emojiRussianKeywords)) {
if (keywords.some(keyword => keyword.includes(lowerQuery))) {
results.push(emoji);
}
}
return results;
}