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}
+