diff --git a/static/css/components/model-modal/showcase.css b/static/css/components/model-modal/showcase.css
index 289f0fcb..a2d06d47 100644
--- a/static/css/components/model-modal/showcase.css
+++ b/static/css/components/model-modal/showcase.css
@@ -227,6 +227,44 @@
z-index: 5;
}
+/* Image counter */
+.showcase__counter {
+ position: absolute;
+ top: var(--space-2);
+ left: var(--space-2);
+ background: rgba(0, 0, 0, 0.6);
+ color: white;
+ padding: var(--space-1) var(--space-2);
+ border-radius: var(--border-radius-xs);
+ font-size: 0.85em;
+ font-weight: 500;
+ display: flex;
+ align-items: center;
+ gap: var(--space-1);
+ opacity: 0.8;
+ transition: opacity 0.2s ease;
+ pointer-events: none;
+ font-variant-numeric: tabular-nums;
+}
+
+.showcase__image-wrapper:hover .showcase__counter {
+ opacity: 1;
+}
+
+.showcase__counter-current {
+ font-weight: 600;
+ min-width: 2ch;
+ text-align: center;
+}
+
+.showcase__counter-separator {
+ opacity: 0.6;
+}
+
+.showcase__counter-total {
+ opacity: 0.8;
+}
+
.showcase__image-wrapper:hover .showcase__controls {
opacity: 1;
transform: translateY(0);
diff --git a/static/js/components/model-modal/Showcase.js b/static/js/components/model-modal/Showcase.js
index b5148691..74b7ed16 100644
--- a/static/js/components/model-modal/Showcase.js
+++ b/static/js/components/model-modal/Showcase.js
@@ -209,6 +209,12 @@ export class Showcase {
+
+ 1
+ /
+ ${this.images.length}
+
+