refac: playground

This commit is contained in:
Timothy Jaeryang Baek
2025-01-29 20:35:37 -08:00
parent 52010accc9
commit 7f61d01fde
3 changed files with 110 additions and 66 deletions
+26 -1
View File
@@ -33,6 +33,7 @@
let loading = false;
let stopResponseFlag = false;
let systemTextareaElement: HTMLTextAreaElement;
let messagesContainerElement: HTMLDivElement;
let showSystem = false;
@@ -58,8 +59,29 @@
console.log('stopResponse');
};
const resizeSystemTextarea = async () => {
await tick();
if (systemTextareaElement) {
systemTextareaElement.style.height = '';
systemTextareaElement.style.height = Math.min(systemTextareaElement.scrollHeight, 555) + 'px';
}
};
$: if (showSystem) {
resizeSystemTextarea();
}
const chatCompletionHandler = async () => {
if (selectedModelId === '') {
toast.error($i18n.t('Please select a model.'));
return;
}
const model = $models.find((model) => model.id === selectedModelId);
if (!model) {
selectedModelId = '';
return;
}
const [res, controller] = await chatCompletion(
localStorage.token,
@@ -258,10 +280,13 @@
<div slot="content">
<div class="pt-1 px-1.5">
<textarea
id="system-textarea"
bind:this={systemTextareaElement}
class="w-full h-full bg-transparent resize-none outline-none text-sm"
bind:value={system}
placeholder={$i18n.t("You're a helpful assistant.")}
on:input={() => {
resizeSystemTextarea();
}}
rows="4"
/>
</div>