diff --git a/apps/web/src/components/molecules/ImageGallery.stories.js b/apps/web/src/components/molecules/ImageGallery.stories.js
index 72e9060..ffdcf20 100644
--- a/apps/web/src/components/molecules/ImageGallery.stories.js
+++ b/apps/web/src/components/molecules/ImageGallery.stories.js
@@ -23,4 +23,11 @@ export const BrokenImageFallback = {
args: {
images: [{ id: 'broken', src: '/fixtures/missing-image.webp', alt: 'Unavailable collectible image' }],
},
+};
+
+export const LoadingImage = {
+ args: {
+ images: [{ id: 'loading', src: '/fixtures/slow-image.webp', alt: 'Collectible image loading' }],
+ },
+ parameters: { chromatic: { delay: 1000 } },
};
\ No newline at end of file
diff --git a/apps/web/src/components/molecules/ImageGallery.vue b/apps/web/src/components/molecules/ImageGallery.vue
index e030571..fd12355 100644
--- a/apps/web/src/components/molecules/ImageGallery.vue
+++ b/apps/web/src/components/molecules/ImageGallery.vue
@@ -1,25 +1,47 @@
-
![]()
-
{{ props.images[selectedIndex]?.src ? 'IMAGE UNAVAILABLE' : (props.images[selectedIndex]?.label ?? 'IMAGE') }}
+
![]()
+
Loading image...
+
{{ props.images[selectedIndex]?.src ? 'IMAGE UNAVAILABLE' : (props.images[selectedIndex]?.label ?? 'IMAGE') }}
-