diff --git a/components/report-window/screenshot-generator.tsx b/components/report-window/screenshot-generator.tsx index 8c74944..d4a0c51 100644 --- a/components/report-window/screenshot-generator.tsx +++ b/components/report-window/screenshot-generator.tsx @@ -73,15 +73,19 @@ export default function ScreenshotGenerator({ const [output, setOutput] = React.useState({}); const [currentAction, setCurrentAction] = React.useState(''); const [preview, setPreview] = React.useState(''); + const [lastPreview, setLastPreview] = React.useState(''); async function subscribeTask(path: string): Promise { let response = { status: taskState.WAITING }; + let last_preview = ''; while (response.status === taskState.WAITING || response.status === taskState.RUNNING) { await new Promise((resolve) => setTimeout(resolve, 1000)); response = await (await pollTask(path)).json(); setImages((response as screenshotTask)?.images); setCurrentAction((response as screenshotTask)?.current_action); + setLastPreview(last_preview); setPreview((response as screenshotTask)?.preview); + last_preview = (response as screenshotTask)?.preview; document.querySelector('.images')?.scrollTo({ top: document.querySelector('.images')?.scrollHeight, behavior: 'smooth', @@ -158,6 +162,7 @@ export default function ScreenshotGenerator({ setTaskId(urlArr[urlArr.length - 1]); const response = await subscribeTask(task.url); setImages(response.images); + setLastPreview(preview); setPreview(response.preview); setOutput(response); setRequestPath(response.zip_url); @@ -191,6 +196,22 @@ export default function ScreenshotGenerator({ ) : null}
+ {mode === 'in_progress' ? ( +
+
+
+
· · ·
+
+
+
+ ) : null} {images.map((screenshot) => { return (
); })} - - {mode === 'in_progress' ? ( -
-
-
-
· · ·
-
-
-
- ) : null}