diff --git a/src/modules/chatbot/components/dialogue-content.vue b/src/modules/chatbot/components/dialogue-content.vue index 7ea148b..6d1e05b 100644 --- a/src/modules/chatbot/components/dialogue-content.vue +++ b/src/modules/chatbot/components/dialogue-content.vue @@ -2,13 +2,21 @@ import DialoguePhrase from './dialogue-phrase.vue'; import type { Message } from '../types/dialogue-message'; import { useAuthStore } from 'src/stores/auth-store'; +import { watch, nextTick } from 'vue'; const authStore = useAuthStore(); const currentUser = authStore.user; -defineProps<{ +const props = defineProps<{ messages: Message[]; }>(); + +watch(props.messages, async () => { + await nextTick(() => { + const chatBody = document.querySelector('.chat-body'); + if (chatBody) chatBody.scrollTop = chatBody.scrollHeight; + }); +}); - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/modules/chatbot/components/dialogue-phrase.vue b/src/modules/chatbot/components/dialogue-phrase.vue index 1723e5c..86a85de 100644 --- a/src/modules/chatbot/components/dialogue-phrase.vue +++ b/src/modules/chatbot/components/dialogue-phrase.vue @@ -12,8 +12,27 @@ const props = defineProps<{ :sent="props.sent" :text="[text]" :bg-color="!sent ? 'secondary' : 'accent'" + class="bubble" + :class="sent ? 'user' : 'ai'" > - \ No newline at end of file +