mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-24 20:30:13 +01:00
refactor: optimize ordering of artifacts and activate latest artifact in Artifacts component
This commit is contained in:
parent
4c810fa5db
commit
15068fdfab
1 changed files with 11 additions and 12 deletions
|
|
@ -85,28 +85,27 @@ export default function Artifacts() {
|
|||
if (orderedArtifactIds.length > 0) {
|
||||
const latestArtifactId = orderedArtifactIds[orderedArtifactIds.length - 1];
|
||||
setCurrentArtifactId(latestArtifactId);
|
||||
setActiveTab('code');
|
||||
}
|
||||
}, [orderedArtifactIds]);
|
||||
|
||||
useEffect(() => {
|
||||
if (latestMessage?.messageId !== lastRunMessageIdRef.current) {
|
||||
const currentArtifact = currentArtifactId != null ? artifacts[currentArtifactId] : null;
|
||||
const currentContent = currentArtifact?.content ?? null;
|
||||
if (isSubmitting && orderedArtifactIds.length > 0) {
|
||||
const latestArtifactId = orderedArtifactIds[orderedArtifactIds.length - 1];
|
||||
const latestArtifact = artifacts[latestArtifactId];
|
||||
|
||||
if (
|
||||
isSubmitting &&
|
||||
currentArtifactId != null &&
|
||||
activeTab !== 'code' &&
|
||||
currentContent !== lastContentRef.current
|
||||
) {
|
||||
if (latestArtifact.content !== lastContentRef.current) {
|
||||
setCurrentArtifactId(latestArtifactId);
|
||||
setActiveTab('code');
|
||||
lastContentRef.current = currentContent;
|
||||
lastContentRef.current = latestArtifact.content ?? null;
|
||||
}
|
||||
}
|
||||
}, [isSubmitting, orderedArtifactIds, artifacts]);
|
||||
|
||||
useEffect(() => {
|
||||
if (latestMessage?.messageId !== lastRunMessageIdRef.current) {
|
||||
lastRunMessageIdRef.current = latestMessage?.messageId ?? null;
|
||||
}
|
||||
}, [activeTab, currentArtifactId, isSubmitting, latestMessage, artifacts]);
|
||||
}, [latestMessage]);
|
||||
|
||||
const currentArtifact = currentArtifactId != null ? artifacts[currentArtifactId] : null;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue