|
@@ -131,10 +131,29 @@
|
|
$: if (chatIdProp) {
|
|
$: if (chatIdProp) {
|
|
(async () => {
|
|
(async () => {
|
|
console.log(chatIdProp);
|
|
console.log(chatIdProp);
|
|
|
|
+
|
|
|
|
+ prompt = '';
|
|
|
|
+ files = [];
|
|
|
|
+ selectedToolIds = [];
|
|
|
|
+ webSearchEnabled = false;
|
|
|
|
+
|
|
|
|
+ loaded = false;
|
|
|
|
+
|
|
if (chatIdProp && (await loadChat())) {
|
|
if (chatIdProp && (await loadChat())) {
|
|
await tick();
|
|
await tick();
|
|
loaded = true;
|
|
loaded = true;
|
|
|
|
|
|
|
|
+ if (localStorage.getItem(`chat-input-${chatIdProp}`)) {
|
|
|
|
+ try {
|
|
|
|
+ const input = JSON.parse(localStorage.getItem(`chat-input-${chatIdProp}`));
|
|
|
|
+
|
|
|
|
+ prompt = input.prompt;
|
|
|
|
+ files = input.files;
|
|
|
|
+ selectedToolIds = input.selectedToolIds;
|
|
|
|
+ webSearchEnabled = input.webSearchEnabled;
|
|
|
|
+ } catch (e) {}
|
|
|
|
+ }
|
|
|
|
+
|
|
window.setTimeout(() => scrollToBottom(), 0);
|
|
window.setTimeout(() => scrollToBottom(), 0);
|
|
const chatInput = document.getElementById('chat-input');
|
|
const chatInput = document.getElementById('chat-input');
|
|
chatInput?.focus();
|
|
chatInput?.focus();
|
|
@@ -390,6 +409,21 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (localStorage.getItem(`chat-input-${chatIdProp}`)) {
|
|
|
|
+ try {
|
|
|
|
+ const input = JSON.parse(localStorage.getItem(`chat-input-${chatIdProp}`));
|
|
|
|
+ prompt = input.prompt;
|
|
|
|
+ files = input.files;
|
|
|
|
+ selectedToolIds = input.selectedToolIds;
|
|
|
|
+ webSearchEnabled = input.webSearchEnabled;
|
|
|
|
+ } catch (e) {
|
|
|
|
+ prompt = '';
|
|
|
|
+ files = [];
|
|
|
|
+ selectedToolIds = [];
|
|
|
|
+ webSearchEnabled = false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
showControls.subscribe(async (value) => {
|
|
showControls.subscribe(async (value) => {
|
|
if (controlPane && !$mobile) {
|
|
if (controlPane && !$mobile) {
|
|
try {
|
|
try {
|
|
@@ -2019,6 +2053,13 @@
|
|
transparentBackground={$settings?.backgroundImageUrl ?? false}
|
|
transparentBackground={$settings?.backgroundImageUrl ?? false}
|
|
{stopResponse}
|
|
{stopResponse}
|
|
{createMessagePair}
|
|
{createMessagePair}
|
|
|
|
+ onChange={(input) => {
|
|
|
|
+ if (input.prompt) {
|
|
|
|
+ localStorage.setItem(`chat-input-${$chatId}`, JSON.stringify(input));
|
|
|
|
+ } else {
|
|
|
|
+ localStorage.removeItem(`chat-input-${$chatId}`);
|
|
|
|
+ }
|
|
|
|
+ }}
|
|
on:upload={async (e) => {
|
|
on:upload={async (e) => {
|
|
const { type, data } = e.detail;
|
|
const { type, data } = e.detail;
|
|
|
|
|