Added button to reset settings, disable also sidebar inputs/buttons while waiting for reply

This commit is contained in:
Julian Müller (ChaoticByte) 2023-04-30 12:40:57 +02:00
parent 1bd108b4cc
commit aca00bd214
2 changed files with 28 additions and 1 deletions

View file

@ -35,6 +35,9 @@
</div>
</div>
<div class="flex">
<button id="reset-settings-btn" class="icon-button">
<svg xmlns="http://www.w3.org/2000/svg" height="48" viewBox="0 96 960 960" width="48"><path d="M480 896q-133 0-226.5-93.5T160 576q0-133 93.5-226.5T480 256q85 0 149 34.5T740 385V256h60v254H546v-60h168q-38-60-97-97t-137-37q-109 0-184.5 75.5T220 576q0 109 75.5 184.5T480 836q83 0 152-47.5T728 663h62q-29 105-115 169t-195 64Z"/></svg>
</button>
<button id="reset-history-btn" class="icon-button">
<svg xmlns="http://www.w3.org/2000/svg" height="48" viewBox="0 96 960 960" width="48"><path d="m361 757 119-121 120 121 47-48-119-121 119-121-47-48-120 121-119-121-48 48 120 121-120 121 48 48ZM261 936q-24 0-42-18t-18-42V306h-41v-60h188v-30h264v30h188v60h-41v570q0 24-18 42t-42 18H261Z"/></svg>
</button>

View file

@ -25,6 +25,7 @@
const settingsMaxTokensElement = document.getElementById("settings-max-tokens");
const settingsTemperatureElement = document.getElementById("settings-temperature");
const settingsTopPElement = document.getElementById("settings-top-p");
const resetSettingsButtonElement = document.getElementById("reset-settings-btn");
const resetHistoryButtonElement = document.getElementById("reset-history-btn");
// Elements - Main
@ -56,6 +57,12 @@
// User-defined settings
const defaultSettings = {
max_tokens: 100,
temperature: 0.8,
top_p: 0.95
}
function getSettings() {
return {
max_tokens: settingsMaxTokensElement.value,
@ -64,6 +71,12 @@
}
}
function resetSettings() {
settingsMaxTokensElement.value = defaultSettings.max_tokens;
settingsTemperatureElement.value = defaultSettings.temperature;
settingsTopPElement.value = defaultSettings.top_p;
}
// Chat
const MessageType = {
@ -99,12 +112,22 @@
}
function disableInput() {
settingsMaxTokensElement.disabled = true;
settingsTemperatureElement.disabled = true;
settingsTopPElement.disabled = true;
resetSettingsButtonElement.disabled = true;
resetHistoryButtonElement.disabled = true;
sendButtonElement.disabled = true;
textInputElement.disabled = true;
}
function enableInput() {
sendButtonElement.disabled = false;
settingsMaxTokensElement.disabled = false;
settingsTemperatureElement.disabled = false;
settingsTopPElement.disabled = false;
resetSettingsButtonElement.disabled = false;
resetHistoryButtonElement.disabled = false;
sendButtonElement.disabled = false;
textInputElement.disabled = false;
// focus text input
textInputElement.focus();
@ -140,6 +163,7 @@
// Event Listeners
resetSettingsButtonElement.addEventListener("click", resetSettings);
resetHistoryButtonElement.addEventListener("click", resetHistory);
sendButtonElement.addEventListener("click", chat);