diff --git a/apps/matrix/apps/web/src/lib/components/chat/Message.svelte b/apps/matrix/apps/web/src/lib/components/chat/Message.svelte index bc78bb1a2..eaf982b83 100644 --- a/apps/matrix/apps/web/src/lib/components/chat/Message.svelte +++ b/apps/matrix/apps/web/src/lib/components/chat/Message.svelte @@ -15,6 +15,7 @@ Image as ImageIcon, Lock, Warning, + Smiley, } from '@manacore/shared-icons'; interface Props { @@ -41,9 +42,18 @@ ); let showActions = $state(false); + let showEmojiPicker = $state(false); let imageLoading = $state(true); let imageError = $state(false); + // Quick reaction emojis + const quickEmojis = ['๐Ÿ‘', 'โค๏ธ', '๐Ÿ˜‚', '๐Ÿ˜ฎ', '๐Ÿ˜ข', '๐ŸŽ‰']; + + async function handleReaction(emoji: string) { + showEmojiPicker = false; + await matrixStore.reactToMessage(message.id, emoji); + } + // Audio player state let audioElement: HTMLAudioElement | null = $state(null); let isPlaying = $state(false); @@ -367,6 +377,25 @@ {/if} + + {#if message.reactions && message.reactions.length > 0} +
+ {#each message.reactions as reaction} + + {/each} +
+ {/if} +
+ +
+ + {#if showEmojiPicker} + + + +
+ {#each quickEmojis as emoji} + + {/each} +
+ {/if} +