From 6d34e401ff8bc1d39ddc988d075ab07992aae5bb Mon Sep 17 00:00:00 2001 From: Jan Drewniak Date: Thu, 21 Mar 2019 15:50:23 +0100 Subject: [PATCH] Remove skins.minerva.icons.images.variants module This module produces 6 icons: ["clock", "profile"] * ["black", "gray", "white"] of which only 3 are needed: clock-gray, clock-white, profile-gray. This patch removes the module and moves the "clock" and "profile" icons into `skins.minerva.icons.images`. Since that module does not inline SVG's, the additional cost of adding these icons, which are loaded at startup, is minimal. The editLocked.svg icon has also been edited to correct its color. Bug: T218807 Change-Id: Ib54960eb556dfe0c1ae06d2f73d4f350e519e20f --- includes/MinervaHooks.php | 1 - includes/skins/MinervaTemplate.php | 2 +- includes/skins/SkinMinerva.php | 6 ++-- .../arrow.svg | 1 - .../profile.svg | 1 - .../clock.svg | 0 .../skins.minerva.icons.images/editLocked.svg | 2 +- .../skins.minerva.icons.images/profile.svg | 1 + resources/skins.minerva.scripts/init.js | 6 ++-- skin.json | 36 ++++++++----------- 10 files changed, 22 insertions(+), 34 deletions(-) delete mode 100644 resources/skins.minerva.icons.images.variants/arrow.svg delete mode 100644 resources/skins.minerva.icons.images.variants/profile.svg rename resources/{skins.minerva.icons.images.variants => skins.minerva.icons.images}/clock.svg (100%) create mode 100644 resources/skins.minerva.icons.images/profile.svg diff --git a/includes/MinervaHooks.php b/includes/MinervaHooks.php index ea2c327..89a9b9b 100644 --- a/includes/MinervaHooks.php +++ b/includes/MinervaHooks.php @@ -160,7 +160,6 @@ class MinervaHooks { switch ( $name ) { case 'MobileMenu': $out->addModuleStyles( [ - 'skins.minerva.icons.images.variants', 'skins.minerva.mainMenu.icons', 'skins.minerva.mainMenu.styles', ] ); diff --git a/includes/skins/MinervaTemplate.php b/includes/skins/MinervaTemplate.php index 5fb2b50..725f4f7 100644 --- a/includes/skins/MinervaTemplate.php +++ b/includes/skins/MinervaTemplate.php @@ -114,7 +114,7 @@ class MinervaTemplate extends BaseTemplate { $action = Action::getActionName( RequestContext::getMain() ); if ( isset( $data['historyLink'] ) && $action === 'view' ) { $args = [ - 'clockIconClass' => MinervaUI::iconClass( 'clock-gray', 'before' ), + 'clockIconClass' => MinervaUI::iconClass( 'clock', 'before' ), 'arrowIconClass' => MinervaUI::iconClass( 'arrow-gray', 'element', 'mw-ui-icon-small mf-mw-ui-icon-rotate-anti-clockwise indicator', // Uses icon in MobileFrontend so must be prefixed mf. diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php index d441fe2..1fec462 100644 --- a/includes/skins/SkinMinerva.php +++ b/includes/skins/SkinMinerva.php @@ -730,7 +730,7 @@ class SkinMinerva extends SkinTemplate { ->addComponent( $username, Title::newFromText( $username, NS_USER )->getLocalUrl(), - MinervaUI::iconClass( 'profile-gray', 'before', 'truncated-text primary-action' ), + MinervaUI::iconClass( 'profile', 'before', 'truncated-text primary-action' ), [ 'data-event-name' => 'profile' ] ) ->addComponent( @@ -1279,7 +1279,7 @@ class SkinMinerva extends SkinTemplate { */ protected function getHistoryPageAction() { return [ - 'class' => MinervaUI::iconClass( 'clock-gray' ), + 'class' => MinervaUI::iconClass( 'clock' ), 'text' => $this->msg( 'mobile-frontend-history' ), 'href' => $this->getHistoryUrl( $this->getTitle() ) ]; @@ -1459,7 +1459,7 @@ class SkinMinerva extends SkinTemplate { 'mediawiki.hlist', 'mediawiki.ui.icon', 'mediawiki.ui.button', - 'skins.minerva.icons.images', + 'skins.minerva.icons.images' ]; if ( $title->isMainPage() ) { $styles[] = 'skins.minerva.mainPage.styles'; diff --git a/resources/skins.minerva.icons.images.variants/arrow.svg b/resources/skins.minerva.icons.images.variants/arrow.svg deleted file mode 100644 index a342be1..0000000 --- a/resources/skins.minerva.icons.images.variants/arrow.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/skins.minerva.icons.images.variants/profile.svg b/resources/skins.minerva.icons.images.variants/profile.svg deleted file mode 100644 index 740c8f5..0000000 --- a/resources/skins.minerva.icons.images.variants/profile.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/skins.minerva.icons.images.variants/clock.svg b/resources/skins.minerva.icons.images/clock.svg similarity index 100% rename from resources/skins.minerva.icons.images.variants/clock.svg rename to resources/skins.minerva.icons.images/clock.svg diff --git a/resources/skins.minerva.icons.images/editLocked.svg b/resources/skins.minerva.icons.images/editLocked.svg index ae4d132..007842c 100644 --- a/resources/skins.minerva.icons.images/editLocked.svg +++ b/resources/skins.minerva.icons.images/editLocked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/skins.minerva.icons.images/profile.svg b/resources/skins.minerva.icons.images/profile.svg new file mode 100644 index 0000000..4147ed4 --- /dev/null +++ b/resources/skins.minerva.icons.images/profile.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/skins.minerva.scripts/init.js b/resources/skins.minerva.scripts/init.js index d1147ff..492859d 100644 --- a/resources/skins.minerva.scripts/init.js +++ b/resources/skins.minerva.scripts/init.js @@ -169,10 +169,8 @@ if ( time.isRecent( delta ) ) { $bar = $lastModifiedLink.closest( '.last-modified-bar' ); $bar.addClass( 'active' ); - // in beta update icons to be inverted - $bar.find( '.mw-ui-icon' ).each( function () { - $( this ).attr( 'class', $( this ).attr( 'class' ).replace( '-gray', '-invert' ) ); - } ); + $bar.find( '.mw-ui-icon-minerva-clock' ).addClass( 'mw-ui-icon-minerva-clock-invert' ); + $bar.find( '.mw-ui-icon-mf-arrow-gray' ).addClass( 'mw-ui-icon-mf-arrow-invert' ); } msg = time.getLastModifiedMessage( ts, username, gender, historyUrl ); $lastModifiedLink.replaceWith( msg ); diff --git a/skin.json b/skin.json index 1fbee67..61a3f81 100644 --- a/skin.json +++ b/skin.json @@ -228,8 +228,16 @@ }, "skins.minerva.icons.images": { "class": "ResourceLoaderImageModule", - "selector": ".mw-ui-icon-minerva-{name}:before", + "selectorWithoutVariant": ".mw-ui-icon-minerva-{name}:before", + "selectorWithVariant": ".mw-ui-icon-minerva-{name}-{variant}:before", "useDataURI": false, + "defaultColor": "#54595d", + "variants": { + "invert": { + "color": "#fff", + "global": false + } + }, "images": { "watch": "resources/skins.minerva.icons.images/watch.svg", "watched": "resources/skins.minerva.icons.images/watched.svg", @@ -237,26 +245,12 @@ "mainmenu": "resources/skins.minerva.icons.images/hamburger.svg", "edit": "resources/skins.minerva.icons.images/editLocked.svg", "edit-enabled": "resources/skins.minerva.icons.images/edit.svg", - "language-switcher": "resources/skins.minerva.icons.images/languageSwitcher.svg" - } - }, - "skins.minerva.icons.images.variants": { - "selectorWithoutVariant": ".mw-ui-icon-minerva-{name}:before", - "selectorWithVariant": ".mw-ui-icon-minerva-{name}-{variant}:before", - "class": "ResourceLoaderImageModule", - "variants": { - "gray": { - "color": "#54595d", - "global": true - }, - "invert": { - "color": "#fff", - "global": true + "language-switcher": "resources/skins.minerva.icons.images/languageSwitcher.svg", + "profile": "resources/skins.minerva.icons.images/profile.svg", + "clock": { + "file": "resources/skins.minerva.icons.images/clock.svg", + "variants": [ "invert" ] } - }, - "images": { - "profile": "resources/skins.minerva.icons.images.variants/profile.svg", - "clock": "resources/skins.minerva.icons.images.variants/clock.svg" } }, "skins.minerva.icons.images.scripts": { @@ -372,7 +366,6 @@ "desktop" ], "dependencies": [ - "skins.minerva.icons.images.variants", "skins.minerva.mainMenu.icons", "skins.minerva.mainMenu.styles", "jquery.cookie", @@ -533,7 +526,6 @@ ], "dependencies": [ "mobile.startup", - "skins.minerva.icons.images.variants", "skins.minerva.scripts" ], "scripts": [