diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index d0fd1d73..a121148f 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -139,6 +139,10 @@ class UniversalLanguageSelectorHooks { } else { $out->addModuleStyles( 'ext.uls.interlanguage' ); } + + if ( $out->getTitle()->isSpecial( 'Preferences' ) ) { + $out->addModuleStyles( 'ext.uls.preferencespage' ); + } } /** @@ -381,9 +385,10 @@ class UniversalLanguageSelectorHooks { 'type' => 'info', 'raw' => true, 'section' => 'personal/i18n', - 'default' => "", - // The above link will have text set from javascript. Just to avoid - // showing the link when javascript is disabled. + // We use this class to hide this from no-JS users + 'cssclass' => 'uls-preferences-link-wrapper', + 'default' => "" . + wfMessage( 'ext-uls-language-settings-preferences-link' )->escaped() . "", ]; if ( $wgULSCompactLanguageLinksBetaFeature === false ) { diff --git a/extension.json b/extension.json index 5902a78f..f598bec4 100644 --- a/extension.json +++ b/extension.json @@ -200,8 +200,7 @@ "uls-plang-title-languages", "ext-uls-select-language-settings-icon-tooltip", "ext-uls-undo-language-tooltip-text", - "ext-uls-undo-language-tooltip-text-local", - "ext-uls-language-settings-preferences-link" + "ext-uls-undo-language-tooltip-text-local" ], "localBasePath": "resources", "remoteExtPath": "UniversalLanguageSelector/resources" @@ -353,6 +352,11 @@ "localBasePath": "resources", "remoteExtPath": "UniversalLanguageSelector/resources" }, + "ext.uls.preferencespage": { + "styles": "css/ext.uls.preferencespage.less", + "localBasePath": "resources", + "remoteExtPath": "UniversalLanguageSelector/resources" + }, "rangy.core": { "scripts": "rangy/rangy-core.js", "localBasePath": "lib", diff --git a/resources/css/ext.uls.preferencespage.less b/resources/css/ext.uls.preferencespage.less new file mode 100644 index 00000000..fb69a216 --- /dev/null +++ b/resources/css/ext.uls.preferencespage.less @@ -0,0 +1,3 @@ +.client-nojs .uls-preferences-link-wrapper { + display: none; +} diff --git a/resources/js/ext.uls.interface.js b/resources/js/ext.uls.interface.js index 96ea23c3..5850d639 100644 --- a/resources/js/ext.uls.interface.js +++ b/resources/js/ext.uls.interface.js @@ -382,7 +382,6 @@ // Bind language settings to preferences page link $( '#uls-preferences-link' ) - .text( mw.msg( 'ext-uls-language-settings-preferences-link' ) ) .click( function () { $ulsTrigger.trigger( 'click', { source: 'preferences'