Initial Commit
linter / quality (push) Canceled after 0s
tests / ci (8.3) (push) Canceled after 0s
tests / ci (8.4) (push) Canceled after 0s
tests / ci (8.5) (push) Canceled after 0s

This commit is contained in:
2026-08-28 23:53:45 +10:00
parent 3ce70b3701
commit 37ff8e0a88
13 changed files with 292 additions and 23 deletions
@@ -2,6 +2,8 @@
import Avatar from '@/components/dredge/Avatar.vue';
import MessageText from './MessageText.vue';
import MessageShare from './MessageShare.vue';
import MessageStoryShare from './MessageStoryShare.vue';
import MessageMedia from './MessageMedia.vue';
import MessageSystem from './MessageSystem.vue';
import type { ThreadMessage } from '@/types/dredge.types';
@@ -26,9 +28,16 @@ defineProps<{
{{ message.replied_to_text }}
</p>
<MessageShare v-if="message.shared_url" :message="message" />
<MessageText v-else-if="message.text" :message="message" />
<MessageSystem v-else :message="message" :is-own="isOwn" />
<!-- Text is a universal concern shown alongside whatever else the
message carries, not one branch of a type dispatch a story
reply, for instance, has both a caption you typed AND a
share preview, and previously only one or the other rendered. -->
<MessageText v-if="message.text" :message="message" />
<MessageStoryShare v-if="message.story_share" :message="message" />
<MessageShare v-else-if="message.shared_url" :message="message" />
<MessageMedia v-else-if="message.attachments?.length" :message="message" />
<MessageSystem v-else-if="!message.text" :message="message" :is-own="isOwn" />
<div v-if="message.reactions?.length" class="bubble__reactions">
<span v-for="(reaction, i) in message.reactions" :key="i" class="bubble__reaction">