Spaces:
Running
Running
File size: 1,492 Bytes
7f1b669 ffb0dba d7b4e1d 8aab1a5 d13f9cf 8aab1a5 bd8f105 6a0861b 8aab1a5 6a0861b 01b06a3 8aab1a5 4ef1838 8aab1a5 ffb0dba 8aab1a5 4ef1838 8aab1a5 873a99f 8aab1a5 7f1b669 8aab1a5 bd8f105 231a23d ffb0dba 8aab1a5 7f1b669 d13f9cf c202241 01b06a3 d13f9cf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
<script lang="ts">
import { goto } from "$app/navigation";
import { base } from "$app/paths";
import ChatWindow from "$lib/components/chat/ChatWindow.svelte";
import { ERROR_MESSAGES, error } from "$lib/stores/errors";
import { pendingMessage } from "$lib/stores/pendingMessage";
import { findCurrentModel } from "$lib/utils/models";
export let data;
let loading = false;
async function createConversation(message: string) {
try {
loading = true;
const res = await fetch(`${base}/conversation`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ model: data.settings.activeModel }),
});
if (!res.ok) {
error.set("Error while creating conversation, try again.");
console.error("Error while creating conversation: " + (await res.text()));
return;
}
const { conversationId } = await res.json();
// Ugly hack to use a store as temp storage, feel free to improve ^^
pendingMessage.set(message);
// invalidateAll to update list of conversations
await goto(`${base}/conversation/${conversationId}`, { invalidateAll: true });
} catch (err) {
error.set(ERROR_MESSAGES.default);
console.error(err);
} finally {
loading = false;
}
}
</script>
<ChatWindow
on:message={(ev) => createConversation(ev.detail)}
{loading}
currentModel={findCurrentModel([...data.models, ...data.oldModels], data.settings.activeModel)}
models={data.models}
settings={data.settings}
/>
|