Browse Source

enh: apply edit to artifacts

Timothy J. Baek 1 year ago
parent
commit
3082d0de7a

+ 5 - 2
src/lib/components/chat/Artifacts.svelte

@@ -6,16 +6,19 @@
 
 	import { showArtifacts, showControls } from '$lib/stores';
 	import XMark from '../icons/XMark.svelte';
+	import { createMessagesList } from '$lib/utils';
 
-	export let messages;
 	export let overlay = false;
+	export let history;
+	let messages = [];
 
 	let contents: Array<{ content: string }> = [];
 	let selectedContentIdx = 0;
 
 	let iframeElement: HTMLIFrameElement;
 
-	$: if (messages) {
+	$: if (history.currentId) {
+		messages = createMessagesList(history, history.currentId);
 		getContents();
 	}
 

+ 0 - 1
src/lib/components/chat/Chat.svelte

@@ -2088,7 +2088,6 @@
 				bind:files
 				bind:pane={controlPane}
 				chatId={$chatId}
-				messages={createMessagesList(history.currentId)}
 				modelId={selectedModelIds?.at(0) ?? null}
 				models={selectedModelIds.reduce((a, e, i, arr) => {
 					const model = $models.find((m) => m.id === e);

+ 2 - 3
src/lib/components/chat/ChatControls.svelte

@@ -18,7 +18,6 @@
 	export let models = [];
 
 	export let chatId = null;
-	export let messages = [];
 
 	export let chatFiles = [];
 	export let params = {};
@@ -126,7 +125,7 @@
 							/>
 						</div>
 					{:else if $showArtifacts}
-						<Artifacts {messages} />
+						<Artifacts {history} />
 					{:else if $showOverview}
 						<Overview
 							{history}
@@ -201,7 +200,7 @@
 								/>
 							</div>
 						{:else if $showArtifacts}
-							<Artifacts {messages} overlay={dragged} />
+							<Artifacts {history} overlay={dragged} />
 						{:else if $showOverview}
 							<Overview
 								{history}

+ 1 - 0
src/lib/components/chat/Messages.svelte

@@ -80,6 +80,7 @@
 
 	const updateChatHistory = async () => {
 		await tick();
+		history = history;
 		await updateChatById(localStorage.token, chatId, {
 			history: history,
 			messages: messages