Article-level share's entry point is a share button within Minerva. Implement design.
Acceptance criteria
- add share button (with "Share" aria label) to toolbelt (visible before JS initializes)
- clicking this icon should fire a JS hook that the Vue app can subscribe to. Ultimately this will open the Share dialog in "Article" mode (without highlighted text), but that will be done in T423860.
- Remove the "Download PDF" button for experiment treatment group participants (note: confirm that we are doing this)
Technical considerations
Minerva includes a toolbar (icon row) and a conditional overflow dropdown. The overflow is gated by the MinervaOverflowInPageActions config (base: false, loggedin: true), so logged-out readers on main namespace pages (the target population per T420773) should see only the toolbar.
Sources of toolbar items. They don't all come from the same place:
- Language / Watch / History / Edit are server-rendered via the SkinTemplateNavigation::Universal hook and built into the toolbar by Minerva's ToolbarBuilder.
- "Download as PDF" is Minerva's own button, not from the Collection extension. It is injected client-side by skins.minerva.scripts/downloadPageAction.js via mw.util.addPortletLink, and self-gates on the wgMinervaDownloadNamespaces JS config var exposed by SkinMinerva::getJsConfigVars().
The good news for us is that we should be able to keep all work inside ReaderExperiments, no need for a Minerva patch:
- Add share icon — register SkinTemplateNavigation::Universal and insert a share-keyed entry with an icon property into $links['views'] for enrolled users. ToolbarBuilder renders any view with an icon, so nothing is needed on Minerva's side. The existing ShareHighlight ResourceLoader module binds the click handler.
- Remove Download-as-PDF icon — in the existing BeforePageDisplay handler, call $out->addJsConfigVars( 'wgMinervaDownloadNamespaces', [] ) for enrolled users. Minerva's JS self-gate reads that config and skips injection entirely — no CSS suppression, no DOM flash.
Gating for both changes mirrors the existing ShareHighlight pattern: Minerva skin + NS_MAIN + logged-out + assigned experiment group.
QA instructions
On patchdemo, local wiki, or production (once patch lands via train)
- Visit an article page on a real or emulated mobile device (feature is gated on minerva; Firefox responsive design mode can emulate)
- Make sure you are using Minerva/Mobile view
- Add ?mpo=share-highlight:treatment param to the URL
The "download PDF" button should be gone, and a "share" (curved arrow) icon action button should appear instead. The button should be focusable, hoverable, and clickable. Clicking won't do any visible action until T423860 is complete, but it will log to the console for now. If T423860 is complete, then clicking the button opens the share dialog.


