diff --git a/includes/UniversalLanguageSelectorHooks.php b/includes/UniversalLanguageSelectorHooks.php index f3fdf6de..c6b89af1 100644 --- a/includes/UniversalLanguageSelectorHooks.php +++ b/includes/UniversalLanguageSelectorHooks.php @@ -132,7 +132,10 @@ class UniversalLanguageSelectorHooks { $out->addJsConfigVars( $config ); if ( $wgULSPosition === 'personal' ) { - $out->addModuleStyles( 'ext.uls.pt' ); + $out->addModuleStyles( [ + 'mediawiki.ui.button', + 'ext.uls.pt' + ] ); } else { $out->addModuleStyles( 'ext.uls.interlanguage' ); } @@ -226,7 +229,8 @@ class UniversalLanguageSelectorHooks { 'uls' => [ 'text' => Language::fetchLanguageName( $langCode ), 'href' => '#', - 'class' => 'uls-trigger', + 'link-class' => 'mw-ui-icon mw-ui-icon-before', + 'class' => 'uls-trigger mw-ui-button mw-ui-quiet', 'active' => true ] ] + $personal_urls; diff --git a/resources/css/ext.uls.pt.less b/resources/css/ext.uls.pt.less index 51202e02..fac66ef2 100644 --- a/resources/css/ext.uls.pt.less +++ b/resources/css/ext.uls.pt.less @@ -19,23 +19,29 @@ * A hack to load the icon before the rest of the module is lazy-loaded. * Copied from jquery.uls.css with the path changed. */ -.uls-trigger { +.uls-trigger a:before { background: no-repeat url( ../../lib/jquery.uls/images/language.svg ) left center; - // Let the SVG image fit without cropping or stretch - background-size: contain; - padding-left: 24px; } +.vector-user-links { + .uls-trigger { + // Disable additional icon on load. + background-image: none; + // Can be removed when no longer need to override rule in jquery.uls.css + padding-left: 12px; + } +} + +// Vector modern = ca-uls +// Other skins = pt-uls #pt-uls { - padding-top: 0 !important; // stylelint-disable-line declaration-no-important + .mw-ui-button { + display: inline; + padding: 0; + border: 0; + } .uls-trigger { - background-image: none; - // Same values as Vector's `#p-personal li`. - display: inline-block; - padding-top: 0.5em !important; // stylelint-disable-line declaration-no-important - padding-left: 0; - // Putting the icon in before in order to apply `opacity`. &:before { content: ''; @@ -53,6 +59,12 @@ } } +.skin-vector { + #ca-uls span { + font-size: 0.875em; + } +} + /* Opera for some inexplicable reason confuses right and left padding with */ /* RTL text direction here (bug T47142). x:-o-prefocus won't match anything, */ /* but will make other browsers ignore this rule. */