SHA256
WIP: эмодзи-пикер (Telegram-набор) — чекпоинт незавершённой работы
- Эмодзи-пикер: js/components/emoji-picker.js + каталог telegram-emoji-*.js (smileys/people/animals_nature/food_drink/travel_places/activity/objects/ symbols/flags) + 631 ассет в assets/emoji (7.2 МБ). - Интеграция пикера: chat-view.js, app.js, index.html, styles/components.css. - Дев-скрипты генерации превью + THIRD_PARTY_NOTICES. - Работа НЕ завершена (WIP), сохранено как чекпоинт. С origin (+56) пока НЕ мержится — большой мерж будет после завершения, отдельным шагом. - VERSION: client 1.2.263. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import { TELEGRAM_EMOJI_GROUP_ACTIVITY } from './telegram-emoji-activity.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_ANIMALS_NATURE } from './telegram-emoji-animals_nature.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_FLAGS } from './telegram-emoji-flags.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_FOOD_DRINK } from './telegram-emoji-food_drink.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_OBJECTS } from './telegram-emoji-objects.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_PEOPLE } from './telegram-emoji-people.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_SMILEYS } from './telegram-emoji-smileys.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_SYMBOLS } from './telegram-emoji-symbols.js?v=202607151545';
|
||||
import { TELEGRAM_EMOJI_GROUP_TRAVEL_PLACES } from './telegram-emoji-travel_places.js?v=202607151545';
|
||||
|
||||
const TELEGRAM_EMOJI_ASSET_BASE_URL = 'https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/';
|
||||
const TELEGRAM_EMOJI_PREVIEW_BASE_URL = '/assets/emoji/telegram-previews/';
|
||||
|
||||
function getTelegramEmojiName(file) {
|
||||
return String(file || '').split('/').pop()?.replace(/\.webp$/i, '') || '';
|
||||
}
|
||||
|
||||
function withPreviewUrls(group) {
|
||||
return {
|
||||
...group,
|
||||
items: group.items.map((item) => ({
|
||||
...item,
|
||||
name: item.name || getTelegramEmojiName(item.file),
|
||||
previewUrl: getTelegramEmojiPreviewUrl(item.file),
|
||||
animatedUrl: getTelegramEmojiAssetUrl(item.file),
|
||||
})),
|
||||
};
|
||||
}
|
||||
|
||||
export const TELEGRAM_EMOJI_GROUPS = [
|
||||
TELEGRAM_EMOJI_GROUP_SMILEYS,
|
||||
TELEGRAM_EMOJI_GROUP_PEOPLE,
|
||||
TELEGRAM_EMOJI_GROUP_ANIMALS_NATURE,
|
||||
TELEGRAM_EMOJI_GROUP_FOOD_DRINK,
|
||||
TELEGRAM_EMOJI_GROUP_TRAVEL_PLACES,
|
||||
TELEGRAM_EMOJI_GROUP_ACTIVITY,
|
||||
TELEGRAM_EMOJI_GROUP_OBJECTS,
|
||||
TELEGRAM_EMOJI_GROUP_SYMBOLS,
|
||||
TELEGRAM_EMOJI_GROUP_FLAGS,
|
||||
].map(withPreviewUrls);
|
||||
|
||||
export function getTelegramEmojiAssetUrl(file) {
|
||||
return `${TELEGRAM_EMOJI_ASSET_BASE_URL}${file.split('/').map((part) => encodeURIComponent(part)).join('/')}`;
|
||||
}
|
||||
|
||||
export function getTelegramEmojiPreviewUrl(file) {
|
||||
return `${TELEGRAM_EMOJI_PREVIEW_BASE_URL}${String(file || '').replace(/\.webp$/i, '.png').split('/').map((part) => encodeURIComponent(part)).join('/')}`;
|
||||
}
|
||||
|
||||
export { TELEGRAM_EMOJI_ASSET_BASE_URL };
|
||||
Reference in New Issue
Block a user