Commit graph

940 commits

Author SHA1 Message Date
jenkins-bot 4aeadfab12 Merge "Use much more precise original size for ratio calculations" 2024-07-18 21:49:42 +00:00
thiemowmde 4a37c70c95 Use much more precise original size for ratio calculations
Nowadays our HTML contains data-file-width="…" and data-file-height="…"
attributes. Previously this code was using <img width="…" height="…">
from the tiny thumbnail to calculate the aspect ratio. But this is
only a rough estimate and can be off by a significant amount of
pixels. Example:

Original image size: 4000 x 2100
Thumbnail in the article: 220 x 116
Available canvas height: 630
When using the thumbnail's size: 1195 x 630
When using the original size: 1200 x 630

I still use the old thumbnail size as a fallback just to be sure.
It's possible this is unreachable code by now. But it doesn't hurt
to keep it.

Change-Id: Iabd89762b09523249375bcbc7e4a573ef974e02e
2024-07-15 12:00:53 +02:00
thiemowmde ac2e3c4cbb Remove dead code from 2014 related to fullscreen pre-loading
This is disabled since 2014. See Ic145c8a for a longer explanation.

Bug: T66135
Change-Id: If0a1564676a25ba3ed2bcae099db77ec8fd3bae3
2024-07-15 11:59:20 +02:00
Ebrahim Byagowi 6fd605d4b2 Fix icons in RTL by using an element instead of ::after
Codex icons are auto-mirrored for RTL scripts but a pseudo-element
causes the auto-mirror selector to have incorrect order and that
builtin auto-mirror functionality of codex icons to not get trigged.

This change fixes it by adding a span to each icon so auto-mirror
can target an actual element instead of ::after pseudo-elements.

Bug: T369659
Change-Id: Ib5f9793a8ad10980d2742d1046c59306c943f960
2024-07-11 20:07:46 +03:30
Taavi Väänänen 1ea305b03b Fix dark mode issues with an extended 'Permission details' box
Fixes the shadows and borders that come with an extended 'Permission
details' box to use Codex tokens that support dark mode. To test this
out, view any image from Commons with a VRT permissions template (for
example [[File:Gordon_Highlander_steam_locomotive.jpg]]).

Bug: T369531
Change-Id: Ie2873b2ef2836c5b7ac2ded860dc2404f293f119
2024-07-08 16:16:15 +00:00
jenkins-bot afe1c08d2f Merge "ThumbnailInfo: support multi lingual SVG" 2024-07-04 19:30:11 +00:00
Simon Legner 4672f2eb57 ThumbnailInfo: support multi lingual SVG
Bug: T208564
Change-Id: Icf082ca0dc94bc4739fd31b795de76f8a0083b70
2024-07-01 22:49:10 +02:00
jenkins-bot dfc3818bdc Merge "Rename whitelist to allowlist" 2024-07-01 20:48:02 +00:00
jenkins-bot 111916cf08 Merge "MMV: Set body background and theme-color" 2024-07-01 15:34:16 +00:00
Simon Legner c872e64988 Rename whitelist to allowlist
Bug: T277952
Change-Id: I67ce70df18d9f9c86579cedcb63aa63685156b09
2024-06-27 20:50:08 +00:00
Derk-Jan Hartman 1b12172bb0 MMV: Set body background and theme-color
When opening the viewer set the body background and the theme-color
to match the background of the viewer. This provides a better
experience for (esp. mobile) browsers.

theme-color has to be overriden, as it can be inferred from the top
of the browser window, but images can be all kinds of colors, so it
is better to be explicit.

Bug: T368659
Change-Id: I313745a31bf17eef612dd89630b1bbc4cb57fd45
2024-06-27 21:25:01 +02:00
Derk-Jan Hartman 1833ce7f14 Metadatapanel: Improve spacing between license links
The license links listed on the right are vertically pretty tight
next to eachother. Add some line-height to make them more readable.

Bug: T365192
Change-Id: Idd0e3d845188178656017ac3158b0a3451c24294
2024-06-27 21:09:20 +02:00
Derk-Jan Hartman 2a8b140ed3 MMV square buttons
- Use square cdx icon only buttons
- gray transparent brackground
- opaque background on hover, active, focus
- Some fixes to the positioning and offsets of buttons and dialogs
- Move the dialogs to be in the same container as the buttons
  This is better for accessibility but also fixes the z-index issue

Bug: T365192
Change-Id: Idbc2a309fbca15bd528aaed7ca9bed584487c4f3
2024-06-26 20:28:38 +02:00
jenkins-bot 33cb6e5ef2 Merge "Remove obsolete class IwTitle" 2024-06-14 20:40:09 +00:00
Simon Legner bc63438a16 Remove obsolete fields imageDisplayedCount and metadataDisplayedCount
Bug: T77349
Change-Id: Ie553107c33f24b26571ebd93e2458b4878c09f3b
2024-06-13 22:25:03 +02:00
Simon Legner 048c359806 Remove obsolete class IwTitle
Bug: T77349
Change-Id: Idc81f0d97ebfef725bcdb93ca50deac197d67590
2024-06-13 21:11:58 +02:00
Ed Sanders 39968fdb9a Update stylelint-config-wikimedia to 0.17.1
Change-Id: Icaa6d43338a747dbbf1d05d50646d6c7a0edda6d
2024-06-07 17:34:06 +01:00
Ed Sanders fa18975543 build: Update eslint-config-wikimedia to 0.28.0 and autofix
Change-Id: Iff4b874580768b008427c0bea535ab08cea14a36
2024-06-07 17:33:12 +01:00
Simon Legner 0399ffff40 Api: remove obsolete getQueryField function
Obsolete since Ia4388fe4d5e1d6112a992e826453cd5799a6a4b4.

Bug: T77349
Change-Id: I13efa32786a2ba65edbaedde214057e9efe98145
2024-06-04 19:34:30 +02:00
Simon Legner 21438d2b22 Remove FileRepoInfo API and Repo model
Repo was only used in two locations:
1. StripeButtons.set for `isCommons` - can be replaced by `descriptionUrl.includes('//commons.wikimedia.org/')`
2. EmbedFileFormatter.getSiteLink (unused)

Furthermore:
- Simplify StripeButtons (we only have one button)
- Unwrap info objects consisting of `ImageModel` and `Repo`
- Remove unused EmbedFileFormatter.getSiteLink
- Inline EmbedFileFormatter.getCaption and EmbedFileFormatter.getLinkUrl
- Fix JSDoc type `ImageModel`

Reduces mmv bundle size from 28012 to 27246.

Bug: T77349
Change-Id: Ia4388fe4d5e1d6112a992e826453cd5799a6a4b4
2024-05-31 08:13:08 +02:00
Derk-Jan Hartman 82e36ddc61 Use CSS transitions for the progressbar.
Bug: T77349
Change-Id: Ib2e5367b913eaf1f4b8920ed7e78dbdecb01ca1d
2024-05-30 20:00:07 +00:00
jenkins-bot 167978ae5b Merge "Use mw.msg shortcut" 2024-05-29 21:53:16 +00:00
jenkins-bot da7401f983 Merge "Move dialog/reuse dialog code to mmv.ui.reuse module" 2024-05-29 20:23:47 +00:00
Simon Legner a8a5247c5e Use mw.msg shortcut
Change-Id: I5af9cc79d1c6108f643b690ded0dd9b876c3852b
2024-05-29 05:14:01 +00:00
Novem Linguae b02ba00fd0 JSDoc: convert @cfg to @param
Bug: T138401
Change-Id: Ib09d471a28821f54c6f8678e788ba85fbd426d35
2024-05-28 06:25:20 -07:00
Simon Legner 5bee6274e0 Move dialog/reuse dialog code to mmv.ui.reuse module
Initialise the corresponding dialogs upon first use by deferred loading of the mmv.ui.reuse module. Reduces code size of the main mmv module.

Bug: T77349
Change-Id: I672419e1a8af47d192843f7e7a4a038c0d8da2a3
2024-05-28 11:58:44 +02:00
Derk-Jan Hartman f8fe9c0af3 Remove the thumbnail blurring
This removes the thumbnail blurring.

The initial page thumbnail is still in place.
This too can be slightly improved as sizing up to the MMV frame is
done via JS right now, and causes a noticeable change. But we can
simply do this with CSS immediately i think.

Bug: T71609
Bug: T65504
Change-Id: If2a92689be9ee7ecd64561dc224991f31274d58a
2024-05-25 00:56:35 +00:00
Simon Legner 72ba58c134 Merge download/share/embed into mmv.ui.reuse module
Bug: T77349
Change-Id: I19f3444ac3e35d94ba3436e0c1387a1cb5b7e972
2024-05-24 18:27:03 +00:00
Simon Legner 4eaf0725a9 Remove index.js export indirection
Reduces mmv module size from 168.85kB to 167.92kB.

Bug: T77349
Change-Id: I40a4b044ca286dcda948243d5029b3377430d4ff
2024-05-21 22:12:17 +00:00
Simon Legner f00dbbb939 Remove IIFE
Remove Immediately-invoked function expression throughout production code base.

Bug: T77349
Change-Id: Ia31b556975209bbea27df8444b69d924654b181e
2024-05-21 22:31:15 +02:00
jenkins-bot d4cded1d88 Merge "Simplify MetadataPanel.setLocationData" 2024-05-21 19:27:04 +00:00
jenkins-bot bc3cc059bb Merge "Revert "Revert "Add position handling to URLs""" 2024-05-21 19:27:02 +00:00
TheDJ 24ee9dc48d Revert "Revert "Add position handling to URLs""
This reverts commit 5b89420182.

Reason for revert: restore previously reverted patch

Bug: T64039
Change-Id: Iac4486ae785f308d2a572f383073cfb73c7cb523
2024-05-21 19:09:16 +00:00
jenkins-bot 45ea6b65ab Merge "Touch events should make the controls visible" 2024-05-20 23:26:38 +00:00
Derk-Jan Hartman f592eeea3b Remove unused code from mmv.ui
Bug: T77349
Change-Id: I9e26dc68859d9dca3c6066837253e85a19039ce0
2024-05-20 23:02:04 +00:00
TheDJ 5b89420182 Revert "Add position handling to URLs"
This reverts commit de56d4a6de.

Reason for revert: breaks resize handler. Lets revert before branch cut.

Change-Id: I1e4d57d8384ab434f17968100f8bea1bf90c40ff
2024-05-20 20:51:59 +00:00
Derk-Jan Hartman 8940fbf6a7 Touch events should make the controls visible
Bug: T364942
Change-Id: If423570ba6e7b99f7383e71108fa2048852616b2
2024-05-20 22:04:59 +02:00
Simon Legner de56d4a6de Add position handling to URLs
- Instantiate LightboxImage object in mmv.bootstrap
- Add LightboxImage.position field: relative position of this image to others with same file
- Add optional routing suffix /:position

Bug: T64039
Change-Id: Ic7c5889064492fc88dae33271b635c5327b091e1
2024-05-20 18:36:23 +00:00
Simon Legner dad874d6ce Simplify MetadataPanel.setLocationData
Extract common function convertDegMinSec for latitude and longitude.

Change-Id: I7037ab1d1444b670f37834f178220fc7cabd433f
2024-05-18 17:27:20 +00:00
jenkins-bot 78f88fd300 Merge "Extract mmv.ui.restriction module" 2024-05-17 21:08:54 +00:00
Simon Legner c53047d181 Extract mmv.ui.restriction module
This module contains the restriction icons. The main mmv module shrinks from 196.88kB to 174.97kB.

Bug: T77349
Change-Id: I78d16b487f5272a8f779f3484c883d113db1878b
2024-05-17 20:51:05 +00:00
jenkins-bot ae063e56f3 Merge "Use heavier box shadow for the dialog" 2024-05-17 15:45:36 +00:00
jenkins-bot 0e2b527950 Merge "Use the Translated namespace in the metadata panel" 2024-05-16 23:34:10 +00:00
jenkins-bot c33efb3919 Merge "Revert "Fix Codex icon on progressive buttons in dark mode"" 2024-05-16 23:19:33 +00:00
VolkerE 7164a90d48 Revert "Fix Codex icon on progressive buttons in dark mode"
This reverts commit 2f05b66988.

Reason for revert: Fixed upstream in v1.6.0

Bug: T364254
Change-Id: I0d0923254f7bdb53d03f60b3ff8a997605f7a66b
2024-05-16 23:16:28 +00:00
Derk-Jan Hartman 018f21ba46 Use heavier box shadow for the dialog
White on white got a bit confusing. Use a much heavier
box-shadow to give better distinction for the elements.

Alternative is to use a border of the subtle color, but doesn't look
as nice to me.

Bug: T365192
Change-Id: I0bf760f0987b2c04a66b00f24398561588bd719a
2024-05-16 21:28:10 +02:00
Derk-Jan Hartman 4b45cd438f Use the Translated namespace in the metadata panel
Bug: T365124
Change-Id: Ibf932f266a66ce34909290a6441a87caeec05431
2024-05-16 19:02:25 +00:00
jenkins-bot e8b55d8204 Merge "Remove some unreachable/no longer needed code" 2024-05-15 22:11:05 +00:00
Simon Legner e50a8b604a Remove extraStatsDeferred
Seems to be a leftover from performance instrumentation I97d41be93849b2ae9d1adba6660546ea716657fd.

Change-Id: Iaba7d23fd526db772528d3ccb74889e7000b3d71
2024-05-15 20:59:58 +02:00
Derk-Jan Hartman de81163226 Remove some unreachable/no longer needed code
These browser fallbacks etc are no longer needed
We even had an unused file

Change-Id: I278f8adbb72cbd587b4a812aa11f40a63d334c8c
2024-05-15 20:48:16 +02:00