diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 05d557f44..727e1ab62 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -304,7 +304,7 @@ message.followUps = data.follow_ups; if (autoScroll) { - scrollToBottom(); + scrollToBottom('smooth'); } } else if (type === 'chat:title') { chatTitle.set(data); @@ -919,10 +919,13 @@ } }; - const scrollToBottom = async () => { + const scrollToBottom = async (behavior = 'auto') => { await tick(); if (messagesContainerElement) { - messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight; + messagesContainerElement.scrollTo({ + top: messagesContainerElement.scrollHeight, + behavior + }); } }; const chatCompletedHandler = async (chatId, modelId, responseMessageId, messages) => { diff --git a/src/lib/components/chat/Messages/ResponseMessage/FollowUps.svelte b/src/lib/components/chat/Messages/ResponseMessage/FollowUps.svelte index a4e17ac33..3465ec8eb 100644 --- a/src/lib/components/chat/Messages/ResponseMessage/FollowUps.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage/FollowUps.svelte @@ -1,4 +1,5 @@ -
-
+
+
{$i18n.t('Follow up')}
{#each followUps as followUp, idx (idx)} + + {#if idx < followUps.length - 1} +
+ {/if} {/each}
diff --git a/src/lib/components/icons/ArrowTurnDownRight.svelte b/src/lib/components/icons/ArrowTurnDownRight.svelte new file mode 100644 index 000000000..62cc0b70e --- /dev/null +++ b/src/lib/components/icons/ArrowTurnDownRight.svelte @@ -0,0 +1,12 @@ + + + + +