浏览代码

fix: modal not closing in many model chat

Timothy J. Baek 1 年之前
父节点
当前提交
7e473f194d
共有 1 个文件被更改,包括 30 次插入30 次删除
  1. 30 30
      src/lib/components/chat/Messages/CompareMessages.svelte

+ 30 - 30
src/lib/components/chat/Messages/CompareMessages.svelte

@@ -118,47 +118,47 @@
 								currentMessageId = message.id;
 								let messageId = message.id;
 								console.log(messageId);
-
 								//
 								let messageChildrenIds = history.messages[messageId].childrenIds;
 								while (messageChildrenIds.length !== 0) {
 									messageId = messageChildrenIds.at(-1);
 									messageChildrenIds = history.messages[messageId].childrenIds;
 								}
-
 								history.currentId = messageId;
 								dispatch('change');
 							}
 						}}
 					>
-						<ResponseMessage
-							message={groupedMessages[model].messages[groupedMessagesIdx[model]]}
-							siblings={groupedMessages[model].messages.map((m) => m.id)}
-							isLastMessage={true}
-							{updateChatMessages}
-							{confirmEditResponseMessage}
-							showPreviousMessage={() => showPreviousMessage(model)}
-							showNextMessage={() => showNextMessage(model)}
-							{readOnly}
-							{rateMessage}
-							{copyToClipboard}
-							{continueGeneration}
-							regenerateResponse={async (message) => {
-								regenerateResponse(message);
-								await tick();
-								groupedMessagesIdx[model] = groupedMessages[model].messages.length - 1;
-							}}
-							on:save={async (e) => {
-								console.log('save', e);
-
-								const message = e.detail;
-								history.messages[message.id] = message;
-								await updateChatById(localStorage.token, chatId, {
-									messages: messages,
-									history: history
-								});
-							}}
-						/>
+						{#key history.currentId}
+							<ResponseMessage
+								message={groupedMessages[model].messages[groupedMessagesIdx[model]]}
+								siblings={groupedMessages[model].messages.map((m) => m.id)}
+								isLastMessage={true}
+								{updateChatMessages}
+								{confirmEditResponseMessage}
+								showPreviousMessage={() => showPreviousMessage(model)}
+								showNextMessage={() => showNextMessage(model)}
+								{readOnly}
+								{rateMessage}
+								{copyToClipboard}
+								{continueGeneration}
+								regenerateResponse={async (message) => {
+									regenerateResponse(message);
+									await tick();
+									groupedMessagesIdx[model] = groupedMessages[model].messages.length - 1;
+								}}
+								on:save={async (e) => {
+									console.log('save', e);
+
+									const message = e.detail;
+									history.messages[message.id] = message;
+									await updateChatById(localStorage.token, chatId, {
+										messages: messages,
+										history: history
+									});
+								}}
+							/>
+						{/key}
 					</div>
 				{/if}
 			{/each}