File tree Expand file tree Collapse file tree 4 files changed +52
-2
lines changed
routes/chat/[agentId]/[conversationId] Expand file tree Collapse file tree 4 files changed +52
-2
lines changed Original file line number Diff line number Diff line change 4242 <div class =" d-flex justify-content-center" >
4343 <nav aria-label =" Page navigation example" id =" pagination-element" class =" mb-0" >
4444 <div class =" pagination-block pagination pagination-rounded" >
45+ <Link class ={` page-link outline-none ${disableBackward ? ' disabled' : ' ' } ` } id ="page-first" on:click ={(e ) => { handlePageTo (e , firstPage ); }}>
46+ <i class =" bx bx-chevrons-left align-middle" />
47+ </Link >
4548 <Link class ={` page-link outline-none ${disableBackward ? ' disabled' : ' ' } ` } id ="page-prev" on:click ={(e ) => { handlePageTo (e , pagination .page - 1 ); }}>
4649 <i class =" bx bx-chevron-left align-middle" />
4750 </Link >
5558 <Link class ={` page-link outline-none ${disableForward ? ' disabled' : ' ' } ` } id ="page-next" on:click ={(e ) => { handlePageTo (e , pagination .page + 1 ); }}>
5659 <i class =" bx bx-chevron-right align-middle" />
5760 </Link >
61+ <Link class ={` page-link outline-none ${disableForward ? ' disabled' : ' ' } ` } id ="page-last" on:click ={(e ) => { handlePageTo (e , totalPages ); }}>
62+ <i class =" bx bx-chevrons-right align-middle" />
63+ </Link >
5864 </div >
5965 </nav >
6066 </div >
Original file line number Diff line number Diff line change 1+ const userRole = {
2+ System : "system" ,
3+ User : "user" ,
4+ Function : "function" ,
5+ Assistant : "assistant"
6+ } ;
7+
8+ export const UserRole = Object . freeze ( userRole ) ;
Original file line number Diff line number Diff line change 2828 import StateLog from ' ./state-log.svelte' ;
2929 import StateModal from ' ./state-modal.svelte' ;
3030 import DialogModal from ' $lib/common/DialogModal.svelte' ;
31+ import { UserRole } from ' $lib/helpers/enums' ;
3132
3233 const options = {
3334 scrollbars: {
4647 let text = " " ;
4748 let editText = " " ;
4849 let truncateMsgId = " " ;
50+ let prevSentMsg = " " ;
4951
5052 /** @type {import('$types').AgentModel} */
5153 export let agent;
7476
7577 onMount (async () => {
7678 dialogs = await GetDialogs (params .conversationId );
79+ getLatestSentMessage (dialogs);
7780
7881 signalr .onMessageReceivedFromClient = onMessageReceivedFromClient;
7982 signalr .onMessageReceivedFromCsr = onMessageReceivedFromCsr;
9093 refresh ();
9194 });
9295
96+ /** @param {import('$types').ChatResponseModel[]} dialogs */
97+ function getLatestSentMessage (dialogs ) {
98+ const latestDialog = dialogs .findLast (x => x .sender ? .role !== UserRole .Assistant );
99+ prevSentMsg = latestDialog? .text || " " ;
100+ }
101+
102+
93103 /** @param {import('$types').ChatResponseModel} message */
94104 function onMessageReceivedFromClient (message ) {
95105 dialogs .push (message);
165175
166176 /** @param {any} e */
167177 async function onSendMessage (e ) {
168- if ((e .key === ' Enter' && (!! e .shiftKey || !! e .ctrlKey )) || e .key !== ' Enter' ) return ;
178+ if (!!! text && e .key === ' ArrowUp' ) {
179+ text = prevSentMsg;
180+ return ;
181+ }
182+
183+ if ((e .key === ' Enter' && (!! e .shiftKey || !! e .ctrlKey )) || e .key !== ' Enter' ) {
184+ return ;
185+ }
186+
187+ prevSentMsg = text;
169188 await sendMessageToHub (params .agentId , params .conversationId , text);
170189 }
171190
Original file line number Diff line number Diff line change @@ -2,7 +2,8 @@ import { sveltekit } from '@sveltejs/kit/vite';
22import { defineConfig } from 'vite' ;
33
44export default defineConfig ( {
5- plugins : [ sveltekit ( ) ] ,
5+ // @ts -ignore
6+ plugins : [ sveltekit ( ) , AutoRefreshHmr ( ) ] ,
67 ssr : {
78 noExternal : [ '@popperjs/core' ]
89 } ,
@@ -20,3 +21,19 @@ export default defineConfig({
2021 host : "0.0.0.0" ,
2122 }
2223} ) ;
24+
25+ function AutoRefreshHmr ( ) {
26+ return {
27+ name : 'auto-refresh' ,
28+ enforce : 'post' ,
29+ // @ts -ignore
30+ handleHotUpdate ( { file, server } ) {
31+ if ( file . endsWith ( '.svelte' ) || file . endsWith ( '.js' ) ) {
32+ server . ws . send ( {
33+ type : 'full-reload' ,
34+ path : '*'
35+ } ) ;
36+ }
37+ }
38+ } ;
39+ }
You can’t perform that action at this time.
0 commit comments