diff --git a/frontend/packages/data-portal/app/components/icons/KeyPhotoFallbackIcon.tsx b/frontend/packages/data-portal/app/components/icons/KeyPhotoFallbackIcon.tsx
new file mode 100644
index 000000000..5658d7e02
--- /dev/null
+++ b/frontend/packages/data-portal/app/components/icons/KeyPhotoFallbackIcon.tsx
@@ -0,0 +1,21 @@
+import { IconProps } from './icon.types'
+
+export function KeyPhotoFallbackIcon(props: IconProps) {
+ return (
+
+ )
+}
diff --git a/frontend/packages/data-portal/app/components/icons/index.ts b/frontend/packages/data-portal/app/components/icons/index.ts
index b843e02ef..c8ac10c64 100644
--- a/frontend/packages/data-portal/app/components/icons/index.ts
+++ b/frontend/packages/data-portal/app/components/icons/index.ts
@@ -3,3 +3,4 @@ export * from './CZIIcon'
export * from './EnvelopeIcon'
export * from './icon.types'
export * from './ImageInstituteIcon'
+export * from './KeyPhotoFallbackIcon'
diff --git a/frontend/packages/data-portal/app/routes/browse-data.datasets.tsx b/frontend/packages/data-portal/app/routes/browse-data.datasets.tsx
index e2355014d..7cbc215b1 100644
--- a/frontend/packages/data-portal/app/routes/browse-data.datasets.tsx
+++ b/frontend/packages/data-portal/app/routes/browse-data.datasets.tsx
@@ -40,6 +40,7 @@ const GET_DATASETS_DATA_QUERY = gql(`
title
organism_name
dataset_publications
+ key_photo_thumbnail_url
authors {
name
diff --git a/frontend/packages/data-portal/app/routes/datasets.$id.tsx b/frontend/packages/data-portal/app/routes/datasets.$id.tsx
index f98401d2c..111f03a8a 100644
--- a/frontend/packages/data-portal/app/routes/datasets.$id.tsx
+++ b/frontend/packages/data-portal/app/routes/datasets.$id.tsx
@@ -17,6 +17,9 @@ const GET_DATASET_BY_ID = gql(`
datasets(where: { id: { _eq: $id } }) {
s3_prefix
+ # key photo
+ key_photo_url
+
# Dataset dates
last_modified_date
release_date
@@ -88,6 +91,12 @@ const GET_DATASET_BY_ID = gql(`
}
}
}
+
+ tomogram_voxel_spacings(limit: 1) {
+ tomograms(limit: 1) {
+ key_photo_thumbnail_url
+ }
+ }
}
runs_aggregate {
diff --git a/frontend/packages/data-portal/app/routes/runs.$id.tsx b/frontend/packages/data-portal/app/routes/runs.$id.tsx
index 30043e219..81f7ef541 100644
--- a/frontend/packages/data-portal/app/routes/runs.$id.tsx
+++ b/frontend/packages/data-portal/app/routes/runs.$id.tsx
@@ -94,6 +94,7 @@ const GET_RUN_BY_ID_QUERY = gql(`
tomograms(limit: 1) {
ctf_corrected
fiducial_alignment_status
+ key_photo_url
name
processing
processing_software