This is effectively a no-op for Minerva itself, but
automatically fixes a bunch of bugs, such as the
lack of centerring on WikiHiero elements.
Bug: T184221
Change-Id: I0af4df2391be1fab3c93fcbfea6624074fc96414
The mediawiki.page.gallery.styles module is only loaded
when needed, yet inside hacks.less we load gallery
styles unconditionally.
The hacks.less file is also only meant for css that overrides
template styles, so it didn't belong there anyway.
Change-Id: I4afc91ad7f67ae66544708d25541b3e8dd247873
In I7abdbac4d2d16b931e2b110fcebf0dfc82146753 I accidentally
removed the active link color (I meant to /move/ it from the
critical path since it requires JavaScript)
Change-Id: Ie86c3c9d03a0ed130a86c50bb548c9b47db6def6
* The notification-count style is only needed if you are logged
in. Given a small percentage of our users are logged in, we
load a lot of render blocking css unnecessarily.
* The bell icon is not needed for anonymous users so pull that
out from skins.minerva.icons.images which is loaded for all users
into a module only used by logged in users (skins.minerva.icons.loggedin)
* Simplify the user-button rule - it is overly specific - probably for
historic reasons.
Additional changes:
* Simplify isAuthenticated helper
Change-Id: Ia72e7e45d276e8aac1ff5471bf6158705c7b5f99
* language-selector can only appear in secondary actions so only
load rule on Main page
* .no-js-only not used in MobileFrontend or Minerva
* Remove last-modified-bar rules from ui.less that are repeated
inside footer less file
* #mw-mf-last-modified id is no longer used post-footer rewrite
* CSS rules for .mw-mf-banner are defined in Zero extension
* mw-mf-image-replacement is no longer needed after we turned off
the option to disable images in the mobile site
Change-Id: I7abdbac4d2d16b931e2b110fcebf0dfc82146753
The only usage of mw-ui-button is inside the SpecialMobileWatchList
class in MobileFrontend. Thus we needlessly load as
a render blocking CSS on all page views
multi-line and two-line are likewise only used inside
MobileSpecialPageFeed.php
mobile.special.styles is loaded on all Special pages
so let's load this instead here. This also allows us to use
the element on other special pages in future.
Change-Id: I2b363543d0356a18194a9d08922428a6cb944797
When a user is allowed to make edits, show a normal edit button. When a
user cannot make edits, show the locked button.
This patch refactors edit button presentation logic into a new function,
updateEditPageButton(), which consistently updates the UI for both
enabled and disabled states. Additionally, in cases where the old code
only displayed the button via `$caEdit.removeClass( 'hidden' )`, the new
code now updates the state appropriately which is a functional change.
Finally, this patch sprinkles in some TODOs for future minor refactors
that were identified while creating this patch.
Bug: T190834
Change-Id: I083e91f0328cc057541ad42a27aae31b32b3d050
* Use box-sizing:border-box when adding textarea padding - before
the right side of the textarea did not align with the right side of
the bell icon. Now it does.
* Fix specificity of rule hiding cancel link and "editing help" which
appear at the bottom of the form.
* Fix height of noJS textarea (70vh)
* Remove some unnecessary extra margins and padding (the minor edit
and watch this page checkboxes will now show on the same line)
* Update specificity for oo-ui-fieldLayout-body so that it does not
apply to the summary form.
Change-Id: I8d3d61fdc51934a6ef0885cde94dac1e8c5e33ca
Enables the SearchOverlay to be shown/hidden by the
OverlayManager, instead of managing the routing itself.
A special route is added to hide the search overlay on pageload,
so that the overlay can always be closed with history.back()
Bug: T189212, T102946
Change-Id: I1eaad36fe4ceca2d6f3e3345d987e2b32634446d
The link change overrides link colors in last modified,
talk button and main menu. This approach was obviously flawed.
Rather than enter a specificity
war let's instead limit the styles to links which do not have
an href. Volker you were right...
* Revert "Last modified links should not be progressive blue"
This reverts commit bc045b78a2.
* Revert "Do not style links without href attribute"
This reverts commit daa6ad5145.
* Apply a not selector for links
Certain links (including links inside navboxes) render
links to themselves - for example the navbox on the San
Francisco article (provided it is not removed by
wgMFRemovableClasses)
These links should be visually distinguished from normal links.
The not selector has support from IE9 onwards and given our browser
matrix and the low impact of if this fallback fails this is a perfectly
acceptable usecase.
Bug: T181472
Change-Id: I61b05e3c223f2ba5314aecdf26b8a0ee8caa6524
This regression was due to I9f842ae09751d299716d752328f747269597fbdb
Updated specifity of selector.
Additional change:
* Update comment per feedback from TheDj
Bug: T181472
Change-Id: I9534cce5f240009c9013b75e1367776519b00d81
Do not conditionally render the table of contents. Note: the underlying
condition, MFTOC, appears to still be used by MobileFormatter so it was
unchanged.
Bug: T189699
Change-Id: I7088ccad75c2a8504bf435418d7dd62238b2135d
The block reason in the block message has escaped HTML. This
HTML should be rendered to the user.
Bug: T190901
Change-Id: Icda7c5d0c76aff7c22f3a6735d880a5ee49338ff
Certain links (including links inside navboxes) render
links to themselves - for example the navbox on the San
Francisco article (provided it is not removed by
wgMFRemovableClasses)
These links should not look like links as they are not
clickable so should be visually distinguished.
Support for attribute selectors goes way back to IE7
and in the case of IE6, links will still render correctly
falling back to the browser default stylesheet
Bug: T181472
Change-Id: I9f842ae09751d299716d752328f747269597fbdb
This should have been removed back in 2015.
See I0ef5c2d5a9019355aa3a158f9e489df02975e0af
Gallery styles come from mediawiki.page.gallery.styles
Bug: T190215
Change-Id: I87713164e1c3906b341a4fb17be424307f8fa428
Replacing id CSS selector by lower specific class selector.
Bug: T187808
Depends-on: I7f3a9df7f9fd1178986112b5265b1ae7c991d5b7
Change-Id: Ib1a874b644e80a26ff415003684f6ce54fd2b7e6
More hackery!
This adds some tests and ensures that our own icons are mapped to the
existing template icons.
Bug: T187916
Change-Id: I49073f22995c6730369235d6039939915ba2079c
Given the level of documentation in this repo is extremely
low now seems a good as time as any.
The resulting documentation is a vast improvement on before
grouping functions to an owner and introducing module names.
We can iterate on the documentation over time.
Bug: T138401
Change-Id: I9e787d40931d3d72a7037ce07d3ab0db8e72d825
After having aligned vast majority of color variables to WikimediaUI
color palette and/or transformed to use central variables, these
seem abandoned leftovers.
Change-Id: Ic20b445975e920259c808b7a20c6100575c99f82
* Remove CSS rule updating the padding of issue-notice
(this is no longer necessary after
I1b880c46fa3debfc5b68d8b416ca642cca98ce7e which defines its own padding
for the element)
* Overlay title is updated to read "Page issues"
Bug: T187916
Change-Id: I7e41d6f03c4cf9fa7563f2f608eec5be89c04a31
ReferenceDrawer
Instead of doing this inside the ReferenceDrawer component
itself, we'll do this here.
To be backwards compatible we check the value is truthy.
When I5a7b23f60722eb5017a85c68f38844dd460f8b63 is merged
this can be removed.
For NotificationBadge we pass the onError option which
is now available and allows us to clean up the NotificationBadge
Change-Id: I47db11fa945a05f3b2a9a43c3cf053ca489a38fa
Move window.location manipulation from ImageOverlay view to MinervaNeue.
Also, don't leave a hanging empty URL fragment when closing the overlay.
Bug: T173539
Related: I292c0578716ff56e0e069aa8006f840025d78a88
Change-Id: I56ba9217aa9cd4e0a925c623060022392e3021c7
MinervaNeue should be solely responsible for controlling the flow of its
own UI. This patch puts the responsibility for changing the add category
dialog state when a category has successfully been added onto
MinervaNeue.
Bug: T173539
Related: Ic61ac46e21f510e5b168d7d98b68a59429eb7044
Change-Id: I5010d5ad1a27f09c1c5b0b4188dcec445cc3229f
Passing in a new currentPageTitle option to TalkSectionAddOverlay.
Since `title` param has spaces instead of underscores,
`pageTitle` also gets spaces by using `M.getCurrentPage().title`
instead of mw.config.get( 'wgPageName' )
Bug: T184273
Change-Id: I68a46e512fde0c6c15e888bd3b57da21417b1085
This was removed in Ia3fb34250714fe4ccb10c32a7027fda167e06a16
It is no longer referenced anywhere.
Bug: T187222
Change-Id: I14d486d962cfd1e4277a82d78084a785093d679d
In T182162 these were removed incorrectly. They should only have
been partially removed.
Bug: T187222
Change-Id: Ia3fb34250714fe4ccb10c32a7027fda167e06a16
This is redundant.
page.getLeadSectionElement() will return null if the main page
is special casing and sections have not been wrapped.
Removing this check also allows toggling to work on pages where
users want to treat main pages like any other page.
Bug: T177337
Change-Id: Ic52fd1c9f6cc4f727ca52c871f29c76997e47f1d
$wgResourceLoaderLESSVars is deprecated. Let's not use it anymore.
Change-Id: If28ab6884668700bc46533c8e2c377f17e6be696
Depends-On: Ib9f843147db4473ce5590741e0fb490384b0007e
Bug: T171365
A horizontal line shows in popup previews in the MinervaNeue skin
just above the setting icon due to a css rule that affect all footer
elements. Removing this effect to apply only for the MN skin.
Bug: T184560
Change-Id: Idb0c40c3fc24e4ec2d32cb2de9520952448da77a
Template pages do not run the MobileFormatter
(see MFMobileFormatterNamespaceBlacklist).
As a result page.getLeadSectionElement() will
return null
When this happens do not change the edit icon to point
to section 1. Instead give them the non-JS editor.
After this patch, the feature remains as:
* Page with lead section get the JS edit overlay for section 0
* Page without lead section but with other sections gets the JS overlay
editor for section 1
* Pages that didn't run through MobileFormatter don't modify the edit
link and just link to the fallback editor (useful for Template pages
at this moment)
Bug: T172948
Change-Id: Icee96e12f62ec13a1cbd3169c687fa4b3af70754
Changes:
* MinervaUI will now prefix any icons with `minerva`
* Update definitions in skin.json, retaining selectors for cached
HTML for icons that are rendered via PHP.
* In I9021c53c2c04bdd7ce395eed33d89986acbfea6d watch and watched
and arrow are moved to MobileFrontend so are removed from the RL module
skins.minerva.icons.images.scripts as they are not
used directly in this repo. user and anonymous are no longer used
so also removed.
* Presentation of userpage now belongs to MobileFrontend. Icons
are styles were moved there in depends on. They are retained in
skin.json to support cached HTML as user pages are subject to
cache. They can be removed in a week.
* In code review we noticed the anonymous icon was badly named. We
rename to login. No caching implications.
* Main menu icons are now prefixed with minerva rather than mf to
reflect where they come from.
Depends-On: I9021c53c2c04bdd7ce395eed33d89986acbfea6d
Bug: T182162
Change-Id: I93264024f4915fc910c792b1905b89cdc6b8b546
Changes:
- moved DownloadButtton checks & initialization to separate function
- introduced supportedNamespaces variable for better readability
- reorganized huge if(){} statement to set of smaller if's with
nice comments why this configuration is not supported
- introduced getAndroidVersion and getChromeVersion helper functions
- added check to not allow Android < 5 or Chrome < 41
- added unit tests
Bug: T182059
Change-Id: Ib5064459ee56aed68179389f37b4bc3b5c2c4492
I used the fix provided by TheDJ and tested out locally
on Firefox 57 and Chrome latest, but I couldn't test out
any grade C browser as on Linux it's really hard to find
such an outdated browser like Internet Explorer on Windows.
Bug: T168716
Change-Id: I8e03610e4eb3c93b80bb757592c2fb3079a68412
To track "download" button interactions we have to notify
EventLogging that button was clicked. The easiest approach is
to use mw.track() and then in WikimediaEvents subscribe to the
`minerva.downloadAsPdf` events and track page impressions.
Bug: T181297
Change-Id: Iecbebe37c165dda3f26af47906662f6e5a81321d
Short term fix to ensure icon doesn't change
when oo-ui is loaded.
Prefix with 'mf-' (we do this in main menu) to avoid nameclashes
Bug: T182162
Change-Id: Ia6ceb620ed2710d97387a326b74f1a02236cd0d0
I used the fix provided by TheDJ and tested out locally
on Firefox 57 and Chrome latest, but I couldn't test out
any grade C browser as on Linux it's really hard to find
such an outdated browser like Internet Explorer on Windows.
Also, I am unsure whether it will work in production
with the example article from the task, wasn't able
to recreate the article fully on my local devwiki.
Bug: T168716
Change-Id: Ied7c15f7a254228c23111df79da44d6167f1baac
Adjust tagline margin per Nirzar:
https://phabricator.wikimedia.org/T180095#3801719
Note, this will enable the tagline everywhere.
Change-Id: I3bce2a3472ab2e53261965c953572f35cc740eed
Bug: T180095
Correct some options names and make minor adjustments to the
constructor function
Bug: T181348
Change-Id: Ia9fe9d2923b895d3dc530280e3987e27c88d3282
(cherry picked from commit 89909ccf53)
Replacing `#9aa0a7` with standard subtle `#999` print color.
Also clarfiying LESS variable naming and removing unused variable
`@printBorderColorLight`.
Change-Id: I2c1b36099935aa99d63a3316b3a107a23ffa0afd
The MinervaDownloadIcon config option is replaced with a
more specific wgMinervaDownloadNamespaces config option.
If the list is empty then the download button will not be
shown.
Since the download icon is enabled everywhere in production now
this is good as it means Minerva reflects the production value.
Bug: T181152
Change-Id: Id78c1de9e8e9013530106bc0d45d3cf0297897b5
On Special:MobileOptions we want to make the form take up the full
width but pad the fields in the form
(per https://phabricator.wikimedia.org/T180095#3795514)
This change is harmless but is necessary as soon as we port
the page to OOjs UI (I70f68df9d2d305126444319b05675702af75de87)
Bug: T180095
Change-Id: I1dda3eb4d0e7ebbec544dc0f5763b079e38f5cc8
Looks like window.print may block so keep the spinner until
it's finished execution.
This may or may not fix the larger issue being discussed in the bug
but is harmless so why not.
Bug: T181261
Change-Id: I927d4bc8c96d74c14463f71b7ce6dec62618a485
When the print button is clicked, load all images from the page
before calling window.print
Add a timeout to make sure the user doesnt wait too long.
Change-Id: Ie922d239f9c5b5757237dc10b673fb500ff203ad
Depends-on: Id7f21606be3db22fe8dfde2db675f9905547cfea
Bug: T180058
Align SVG markup across Foundation products by:
- unifying XML declaration,
- adding `width` and `height` attributes where missing,
- removing all unnecessary `g` group elements where applicable,
- putting attributes in order,
- removing unnecessary ids and
- unifying whitespace.
Bug: T178867
Change-Id: I6860c9259553e0e41f7656f9e98534db8e02bbc2
The Popups extension uses a footer element so these rules clash with
that and probably other extensions.
To avoid this restrict the element to the skin.
Change-Id: Iac3aa8e600969a0feb0abeee745cd26592a594fd
As discussed on ticket the download button only appears
to work on Google Chrome on mobile browsers.
Bug: T179529
Bug: T179914
Change-Id: I8bbda8d5a8aa42dd23773fea424c1a70e31d6f85
Currently appears unstyled, so in lieu of some styles it would be
better to hide that for the time being and revisit later.
Change-Id: If0f4f02868b1344746affcec5116c325c612d145
Fontchanger code now runs on all skins under the `mobile` target.
All the code will now live in MobileFrontend meaning developers
can operate inside one code base.
Depends-On: I857cfe2d9be9fe49c04c860bc234384c787239b2
Change-Id: I2759455cb6d7ddf13798e94452cb74baf502bafe
As documented on the ticket, iOS does not provide PDF functionality
via print.
iOS 11 provides PDF generation but the resulting PDF is unreadable for
our content and missing styles (see T177215#3700576) and we do not know
of any way to invoke that just yet.
Bug: T177215
Change-Id: I7e195ae067625c7865dccee31fa7a2c3c0ee57e5
Shortcut for print. Disabled by default and controlled by
wgMinervaDownloadIcon
Note that with lazy images enabled, images will not appear
in the printed article. This can be easily addressed inside
the onClick function in a later patchset with a few modifications
to the Skin class.
Currently the flag when enabled will show on all browsers. There
are some open questions on the ticket about how we want to limit
the feature. This shouldn't block review or merging.
Bug: T177215
Change-Id: I49f1736870c743990b3fb9916247e07a597b2f59
The talk page JavaScript progressively enhances an
existing button in the page.
Remove the frontend logic and rely entirely on whether
the button is in the page or not.
Additional change:
* The browser tests incorrectly suggest a user needs
5 edits to be able to use the talk feature. This is not
true. They just need to be logged in. Update that logic.
Bug: T167728
Change-Id: Iacedea30bdd0775b3d785db5b143abafd7a18b39
The global events for resize and throttled will also be defined
inside MobileFrontend.
Depends-On: I8503c26bd064ae0d203f95a35031468c7c678ac1
Bug: T173454
Change-Id: I00d361ad504ab90f2bf80a53a7c76269f1116207
Since Minerva is the only skin which does this kind of thing, it
was premature to add this logic to the Skin module.
By forcing Minerva to do this itself, we allow MobileFrontend to
be responsible for creating a Skin without having to know about
what that skin may want to load in tablet mode.
(see I8503c26bd064ae0d203f95a35031468c7c678ac1)
Bug: T173454
Change-Id: I32e2b4a10799a06138bfee08abc6769a6b96004d
max-width should actually be one smaller than the threshold
Additional changes:
* Also rename to @width-breakpoint-mobile and
rename @width-breakpoint-desktop for desktop variable in
anticipation of T171365
Bug: T176286
Change-Id: Ia37bceb46a6b780f473828ff38749543bdfcc9f6