diff --git a/frontend/src/pages/org/archived-item-qa/ui/screenshots.ts b/frontend/src/pages/org/archived-item-qa/ui/screenshots.ts
index 50234a73..3ab61b8f 100644
--- a/frontend/src/pages/org/archived-item-qa/ui/screenshots.ts
+++ b/frontend/src/pages/org/archived-item-qa/ui/screenshots.ts
@@ -2,13 +2,14 @@ import { msg } from "@lit/localize";
import clsx from "clsx";
import { html } from "lit";
import { guard } from "lit/directives/guard.js";
-import { when } from "lit/directives/when.js";
import type { BlobPayload, ReplayData } from "../types";
import { renderSpinner } from "./spinner";
-function image(blobUrl: BlobPayload["blobUrl"]) {
+import { tw } from "@/utils/tailwind";
+
+function image(blobUrl: BlobPayload["blobUrl"] | undefined) {
if (!blobUrl) {
return html`
+ guard(data, () => (data != null ? image(data.blobUrl) : imageSpinner));
+
export function renderScreenshots(
crawlData: ReplayData,
qaData: ReplayData,
splitView: boolean,
) {
+ const crawlImage = renderImage(crawlData);
+ const qaImage = renderImage(qaData);
const content = html`
- ${when(
- crawlData?.blobUrl !== undefined && crawlData.blobUrl,
- image,
- renderSpinner,
- )}
+ ${crawlImage}
- ${when(
- qaData?.blobUrl !== undefined && qaData.blobUrl,
- image,
- renderSpinner,
- )}
+ ${qaImage}
`
: html`
@@ -83,18 +83,10 @@ export function renderScreenshots(
>
- ${when(
- crawlData?.blobUrl !== undefined && crawlData.blobUrl,
- image,
- renderSpinner,
- )}
+ ${crawlImage}
- ${when(
- qaData?.blobUrl !== undefined && qaData.blobUrl,
- image,
- renderSpinner,
- )}
+ ${qaImage}
diff --git a/frontend/src/pages/org/archived-item-qa/ui/spinner.ts b/frontend/src/pages/org/archived-item-qa/ui/spinner.ts
index 70674929..2b63e6a4 100644
--- a/frontend/src/pages/org/archived-item-qa/ui/spinner.ts
+++ b/frontend/src/pages/org/archived-item-qa/ui/spinner.ts
@@ -1,10 +1,12 @@
+import clsx from "clsx";
import { html } from "lit";
-import { tw } from "@/utils/tailwind";
-
-export function renderSpinner() {
+export function renderSpinner(className?: clsx.ClassValue) {
return html`