diff --git a/components/Message.vue b/components/Message.vue index 770b924..e68bf94 100644 --- a/components/Message.vue +++ b/components/Message.vue @@ -55,8 +55,8 @@
+
- diff --git a/components/MessageMedia.vue b/components/MessageMedia.vue index 0a8ff16..bf25be6 100644 --- a/components/MessageMedia.vue +++ b/components/MessageMedia.vue @@ -1,6 +1,6 @@ @@ -11,6 +11,23 @@ import { render } from 'vue'; const props = defineProps<{ links: string[] }>(); +const mediaContainer = ref(); + +const imagesLoaded = ref(0); + +watch(imagesLoaded, () => { + if (imagesLoaded.value < props.links.length) return; + const messageDataContainer = mediaContainer.value?.closest(".message-data"); + const messagesContainer = document.getElementById("messages"); + if (messageDataContainer && messagesContainer && mediaContainer.value) { + const mediaRect = messageDataContainer.getBoundingClientRect(); + const messagesRect = messagesContainer.getBoundingClientRect(); + if (mediaRect.right > messagesRect.right) { + mediaContainer.value.style.flexDirection = "column"; + } + } +}); + function createModal(link: string) { const div = document.createElement("div"); const modal = h(ModalBase, {