/** * Curated emoji sets for the chat composer + message reactions. No external * picker library โ€” a hardcoded grid covers the common cases and keeps the chat * module self-contained (isolation rule). Imported by both chat surfaces * (components/chat/Drawer.vue and pages/chat.vue) so they can't drift. */ export const useChatEmojis = () => { // Composer picker grid. const picker: string[] = [ '๐Ÿ˜€', '๐Ÿ˜', '๐Ÿ˜‚', '๐Ÿคฃ', '๐Ÿ˜…', '๐Ÿ˜Š', '๐Ÿ˜‡', '๐Ÿ™‚', '๐Ÿ˜‰', '๐Ÿ˜', '๐Ÿ˜˜', '๐Ÿ˜Ž', '๐Ÿคฉ', '๐Ÿค”', '๐Ÿคจ', '๐Ÿ˜', '๐Ÿ˜ด', '๐Ÿ˜ข', '๐Ÿ˜ญ', '๐Ÿ˜ก', '๐Ÿฅณ', '๐Ÿ˜ฑ', '๐Ÿคฏ', '๐Ÿ˜ฌ', '๐Ÿ™„', '๐Ÿ˜', '๐Ÿ‘', '๐Ÿ‘Ž', '๐Ÿ‘', '๐Ÿ™', '๐Ÿ’ช', '๐Ÿ™Œ', '๐Ÿ‘Œ', 'โœŒ๏ธ', '๐Ÿค', '๐Ÿซถ', 'โค๏ธ', '๐Ÿงก', '๐Ÿ’›', '๐Ÿ’š', '๐Ÿ’™', '๐Ÿ’œ', '๐Ÿ”ฅ', 'โญ', '๐ŸŽ‰', 'โœ…', 'โŒ', 'โš ๏ธ', '๐Ÿ’ฏ', '๐Ÿ‘€', '๐Ÿš€', '๐Ÿ“ฆ', '๐Ÿšš', '๐Ÿงพ', '๐Ÿท๏ธ', 'โฐ', '๐Ÿ’ก', '๐Ÿ“Œ', 'โ˜•', '๐Ÿ‘‹' ] // Quick one-tap reactions (the WhatsApp/Slack-style bar). const quick: string[] = ['๐Ÿ‘', 'โค๏ธ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข', '๐Ÿ‘Ž'] return { picker, quick } }