Page MenuHomePhabricator

Implement baseline MMV beta viewer design
Closed, ResolvedPublic5 Estimated Story Points

Description

Goals

Implement the baseline mobile image viewer per the Figma spec. The viewer is a Vue 3 / Codex overlay that replaces MMV on mobile (Minerva).

Figma Link

image.png (1,707×1,681 px, 2 MB)
image.png (794×1,680 px, 905 KB)

Acceptance Criteria
  • Basic layout is in place (header with title + close, full-bleed image, caption + details link, bottom nav bar with prev/next + counter). Progressive image loading and prefetch are working.
  • Keyboard navigation — Left/Right arrow keys to navigate images, Escape to close the viewer.
  • Author line — Display the image author/attribution below the title in the header. One line, truncated with ellipsis. (Note: we need to add a new API call to get this info.)
  • Tap-to-toggle chrome — Single tap on the image area hides all UI chrome (header, caption, nav bar) except the close button. A second tap anywhere restores the chrome. The close button must remain visible at all times.
  • Medium-sized nav buttons — The prev/next buttons in the nav bar should use Codex size="medium".
  • Button styling — Nav and close buttons should use the Codex "normal neutral" weight. Current custom dark-bg overrides (border, hover, active states) should be reviewed against this.

Notes:

  • Use background-base-interactive for the background
  • Image is fully visible and full bleed. Location is equidistant from header and footer elements.
  • description is underneath the image if there is one. Two lines then truncate. Uses the caption style. Links are primary progressive
  • Licensing information links to commons
  • move the next and previous arrows to the bottom alongside the pagination so they don't cover the images
  • Medium button for pagination
  • use the normal neutral style for buttons
  • single tap hides everything except the close affordance. Tapping anywhere again brings back the chrome
  • Title is two lines then truncate
  • Author is one line and truncate
  • MMV is always in dark mode

token list
Title: UI-text-bold with line-height x-small and text colour base
close button: medium neutral-normal
Author: caption-text color-subtle
The description and attribution link are text-color-base and caption-text sizing with primary-progressive links
The key line above the pagination buttons is border-color-muted
Background is background-color-interactive-subtle
pagination text is caption as well

Event Timeline

@egardner @SherryYang-WMF Have a look at the design spec and the Figma link and let me know if you need any clarification on any of the notes or specs.

Change #1254349 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Update layout to match T418382 mockups

https://gerrit.wikimedia.org/r/1254349

egardner renamed this task from [DESIGN] Baseline MMV beta viewer design to Baseline MMV beta viewer design.Mar 18 2026, 4:55 PM
egardner renamed this task from Baseline MMV beta viewer design to Implement baseline MMV beta viewer design.
egardner updated the task description. (Show Details)
egardner set the point value for this task to 5.Mar 18 2026, 5:03 PM

token list
Title: UI-text-bold with line-height x-small and text colour base
close button: medium neutral-normal
Author: caption-text color-subtle
The description and attribution link are text-color-base and caption-text sizing with primary-progressive links
The key line above the pagination buttons is border-color-muted
Background is background-color-interactive-subtle
pagination text is caption as well

I think that's everything! Let me know if any other questions come up!

Change #1264914 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] Extract mmv.common ResourceLoader module for shared infrastructure

https://gerrit.wikimedia.org/r/1264914

Change #1264914 merged by jenkins-bot:

[mediawiki/extensions/MultimediaViewer@master] Extract mmv.common ResourceLoader module for shared infrastructure

https://gerrit.wikimedia.org/r/1264914

Change #1266602 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Toggle UI chrome visibility on image tap

https://gerrit.wikimedia.org/r/1266602

Change #1267209 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Add focus trap

https://gerrit.wikimedia.org/r/1267209

Change #1267107 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Add directional slide transitions between images

https://gerrit.wikimedia.org/r/1267107

Test wiki created on Patch demo by EGardner (WMF) using patch(es) linked to this task:
https://af2dc58524.catalyst.wmcloud.org/w/

Change #1267950 had a related patch set uploaded (by Eric Gardner; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Exclude close button from controls fade-out

https://gerrit.wikimedia.org/r/1267950

Change #1254349 merged by jenkins-bot:

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Implement the new design and fetch more metadata

https://gerrit.wikimedia.org/r/1254349

Change #1266602 merged by jenkins-bot:

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Toggle UI chrome visibility on image tap

https://gerrit.wikimedia.org/r/1266602

egardner lowered the priority of this task from High to Medium.Apr 13 2026, 5:21 PM

@egardner - are those changes to MMV behind some flag? I checked for the new design in beta/prod and https://af2dc58524.catalyst.wmcloud.org/wiki/Chamber_music#/media/File%3AAntiqueQuartet.jpg

Screenshot 2026-04-17 at 5.16.50 PM.png (874×1,894 px, 1 MB)
Screenshot 2026-04-17 at 5.36.16 PM.png (788×1,732 px, 1 MB)

The design is different.

egardner changed the task status from Open to In Progress.Apr 20 2026, 7:14 PM

Change #1267209 merged by jenkins-bot:

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Add focus trap

https://gerrit.wikimedia.org/r/1267209

Change #1267950 merged by jenkins-bot:

[mediawiki/extensions/MultimediaViewer@master] MMV Beta Viewer: Exclude close button from controls fade-out

https://gerrit.wikimedia.org/r/1267950

@egardner - are those changes to MMV behind some flag? I checked for the new design in beta/prod and https://af2dc58524.catalyst.wmcloud.org/wiki/Chamber_music#/media/File%3AAntiqueQuartet.jpg

Screenshot 2026-04-17 at 5.16.50 PM.png (874×1,894 px, 1 MB)
Screenshot 2026-04-17 at 5.36.16 PM.png (788×1,732 px, 1 MB)

The design is different.

Hi @Etonkovidova – yes, the viewer changes are behind a URL feature flag called ?mmvBeta=1.

You can test on production using that URL plus mobile view, i.e. https://en.wikipedia.org/wiki/Paris?useskin=minerva&useformat=mobile&mmvBeta=1#

Thank you, @egardner!

Testing summary for review . The following was checked on

  • a browser mobile emulator(Chrome/FF)
  • real iOS device (iPhone 11, iOS Version 26)
  • real Android device (Galaxy S8, Android version 9))

(1) Single tab hides all UI info, including X the (Close button)

  • Tap-to-toggle chrome — Single tap on the image area hides all UI chrome (header, caption, nav bar) except the close button. A second tap anywhere restores the chrome. The close button must remain visible at all times.
Design - Figma Linkbeta MMVMMV current (wmf.24 MMV)
Screenshot 2026-04-24 at 2.12.39 PM.png (800×1,732 px, 1 MB)
Screenshot 2026-04-24 at 1.23.16 PM.png (774×1,684 px, 932 KB)
Screenshot 2026-04-24 at 2.12.39 PM.png (800×1,732 px, 1 MB)

(2) Prev/next buttons are not present

  • Medium-sized nav buttons — The prev/next buttons in the nav bar should use Codex size="medium".
Design - Figma Linkbeta MMVMMV current (wmf.24 MMV)
Screenshot 2026-04-24 at 2.21.42 PM.png (622×1,352 px, 695 KB)
Screenshot 2026-04-24 at 1.22.58 PM.png (834×1,692 px, 1005 KB)
Screenshot 2026-04-24 at 2.23.55 PM.png (840×1,710 px, 1 MB)

Hi @Etonkovidova – looks like some of the patches here are not on prod yet.

Try https://ef413413f8.catalyst.wmcloud.org/wiki/Paris?mmvBeta=1# and you should be able to see both nav buttons as well as the "X" button remaining when the others are hidden.

Hi @Etonkovidova – looks like some of the patches here are not on prod yet.

Try https://ef413413f8.catalyst.wmcloud.org/wiki/Paris?mmvBeta=1# and you should be able to see both nav buttons as well as the "X" button remaining when the others are hidden.

Confirmed - https://ef413413f8.catalyst.wmcloud.org/w/index.php?title=Paris&mmvBeta=1#/media/File:Notre-Dame_de_Paris_2013-07-24.jpg - works according to the design.
Checked the AC in the task as Done.

Test wiki on Patch demo by EGardner (WMF) using patch(es) linked to this task was deleted:

https://af2dc58524.catalyst.wmcloud.org/w/

You can test on production using that URL plus mobile view, i.e. https://en.wikipedia.org/wiki/Paris?useskin=minerva&useformat=mobile&mmvBeta=1#

Since I don't know what this could even be tagged as if I file a separate task, please be aware that you need to introduce some background for transparent PNG and SVG images: https://en.wikipedia.org/wiki/Paris?useskin=minerva&useformat=mobile&mmvBeta=1#/media/File:Ville_de_Paris_logo.svg

(testing the component, it’s also strange that you can remove the interface by clicking on the image part but that doesn’t change anything else, but maybe that has some motivation)

Assuming this task is about the MediaViewer code project, hence adding that project tag so other people who don't know or don't care about team tags can also find this task when searching via projects or looking at workboards. Please set appropriate project tags when possible. Thanks.