1
0
Эх сурвалжийг харах

show chat in browser title + scroll to bottom

Jannik Streidl 1 жил өмнө
parent
commit
8461b92f08

+ 15 - 1
src/routes/(app)/+page.svelte

@@ -14,6 +14,7 @@
 		chats,
 		chats,
 		chatId,
 		chatId,
 		config,
 		config,
+		WEBUI_NAME,
 		tags as _tags
 		tags as _tags
 	} from '$lib/stores';
 	} from '$lib/stores';
 	import { copyToClipboard, splitStream } from '$lib/utils';
 	import { copyToClipboard, splitStream } from '$lib/utils';
@@ -38,7 +39,6 @@
 	import { RAGTemplate } from '$lib/utils/rag';
 	import { RAGTemplate } from '$lib/utils/rag';
 	import { LITELLM_API_BASE_URL, OPENAI_API_BASE_URL } from '$lib/constants';
 	import { LITELLM_API_BASE_URL, OPENAI_API_BASE_URL } from '$lib/constants';
 	import { WEBUI_BASE_URL } from '$lib/constants';
 	import { WEBUI_BASE_URL } from '$lib/constants';
-
 	let stopResponseFlag = false;
 	let stopResponseFlag = false;
 	let autoScroll = true;
 	let autoScroll = true;
 	let processing = '';
 	let processing = '';
@@ -69,6 +69,7 @@
 	let tags = [];
 	let tags = [];
 
 
 	let title = '';
 	let title = '';
+	let pageTitle = WEBUI_NAME;
 	let prompt = '';
 	let prompt = '';
 	let files = [];
 	let files = [];
 	let messages = [];
 	let messages = [];
@@ -77,6 +78,13 @@
 		currentId: null
 		currentId: null
 	};
 	};
 
 
+	$: if (title) {
+		const trimmedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title;
+		pageTitle = `${trimmedTitle} | ${$WEBUI_NAME}`;
+	} else {
+		pageTitle = $WEBUI_NAME;
+	}
+
 	$: if (history.currentId !== null) {
 	$: if (history.currentId !== null) {
 		let _messages = [];
 		let _messages = [];
 
 
@@ -809,6 +817,12 @@
 	};
 	};
 </script>
 </script>
 
 
+<svelte:head>
+	<title>
+		{pageTitle}
+	</title>
+</svelte:head>
+
 <div class="h-screen max-h-[100dvh] w-full flex flex-col">
 <div class="h-screen max-h-[100dvh] w-full flex flex-col">
 	<Navbar {title} shareEnabled={messages.length > 0} {initNewChat} {tags} {addTag} {deleteTag} />
 	<Navbar {title} shareEnabled={messages.length > 0} {initNewChat} {tags} {addTag} {deleteTag} />
 	<div class="flex flex-col flex-auto">
 	<div class="flex flex-col flex-auto">

+ 14 - 0
src/routes/(app)/c/[id]/+page.svelte

@@ -14,6 +14,7 @@
 		chats,
 		chats,
 		chatId,
 		chatId,
 		config,
 		config,
+		WEBUI_NAME,
 		tags as _tags
 		tags as _tags
 	} from '$lib/stores';
 	} from '$lib/stores';
 	import { copyToClipboard, splitStream, convertMessagesToHistory } from '$lib/utils';
 	import { copyToClipboard, splitStream, convertMessagesToHistory } from '$lib/utils';
@@ -71,6 +72,7 @@
 	let tags = [];
 	let tags = [];
 
 
 	let title = '';
 	let title = '';
+	let pageTitle = WEBUI_NAME;
 	let prompt = '';
 	let prompt = '';
 	let files = [];
 	let files = [];
 
 
@@ -80,6 +82,13 @@
 		currentId: null
 		currentId: null
 	};
 	};
 
 
+	$: if (title) {
+		const trimmedTitle = title.length > 30 ? `${title.slice(0, 30)}...` : title;
+		pageTitle = `${trimmedTitle} | ${$WEBUI_NAME}`;
+	} else {
+		pageTitle = $WEBUI_NAME;
+	}
+
 	$: if (history.currentId !== null) {
 	$: if (history.currentId !== null) {
 		let _messages = [];
 		let _messages = [];
 
 
@@ -100,6 +109,7 @@
 				await tick();
 				await tick();
 				loaded = true;
 				loaded = true;
 
 
+				window.setTimeout(() => scrollToBottom(), 0);
 				const chatInput = document.getElementById('chat-textarea');
 				const chatInput = document.getElementById('chat-textarea');
 				chatInput?.focus();
 				chatInput?.focus();
 			} else {
 			} else {
@@ -823,6 +833,10 @@
 	});
 	});
 </script>
 </script>
 
 
+<svelte:head>
+	<title>{pageTitle}</title>
+</svelte:head>
+
 {#if loaded}
 {#if loaded}
 	<div class="min-h-screen max-h-screen w-full flex flex-col">
 	<div class="min-h-screen max-h-screen w-full flex flex-col">
 		<Navbar
 		<Navbar