|
<script lang="ts"> |
|
import { goto } from "$app/navigation"; |
|
import { base } from "$app/paths"; |
|
import ChatWindow from "$lib/components/chat/ChatWindow.svelte"; |
|
import { pendingMessage } from "$lib/stores/pendingMessage"; |
|
|
|
let loading = false; |
|
|
|
async function createConversation(message: string) { |
|
try { |
|
loading = true; |
|
const res = await fetch(`${base}/conversation`, { |
|
method: "POST", |
|
headers: { |
|
"Content-Type": "application/json", |
|
}, |
|
}); |
|
|
|
if (!res.ok) { |
|
alert("Error while creating conversation: " + (await res.text())); |
|
return; |
|
} |
|
|
|
const { conversationId } = await res.json(); |
|
|
|
|
|
pendingMessage.set(message); |
|
|
|
|
|
await goto(`${base}/conversation/${conversationId}`, { invalidateAll: true }); |
|
} finally { |
|
loading = false; |
|
} |
|
} |
|
</script> |
|
|
|
<ChatWindow on:message={(ev) => createConversation(ev.detail)} {loading} /> |
|
|