diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php index 9f21c02..f9cc4d3 100644 --- a/includes/skins/SkinMinerva.php +++ b/includes/skins/SkinMinerva.php @@ -242,9 +242,15 @@ class SkinMinerva extends SkinTemplate { return false; } + // T206406: Enable "Talk" or "Discussion" button on Main page, also, not forgetting + // the "switch-language" button. But disable "edit" and "watch" actions. + if ( $title->isMainPage() ) { + return ( in_array( $action, $config->get( 'MinervaPageActions' ) ) + && ( $action === 'talk' || $action === 'switch-language' ) ); + } + if ( ! in_array( $action, $config->get( 'MinervaPageActions' ) ) - || $title->isMainPage() || ( $this->getUserPageHelper()->isUserPage() && !$title->exists() ) ) { return false; @@ -270,7 +276,7 @@ class SkinMinerva extends SkinTemplate { * @return string */ public function doEditSectionLink( Title $nt, $section, $tooltip, Language $lang ) { - if ( $this->isAllowedPageAction( 'edit' ) ) { + if ( $this->isAllowedPageAction( 'edit' ) && !$nt->isMainPage() ) { $message = $this->msg( 'mobile-frontend-editor-edit' )->inLanguage( $lang )->text(); $html = Html::openElement( 'span', [ 'class' => 'mw-editsection' ] ); $html .= Html::element( 'a', [ @@ -980,7 +986,7 @@ class SkinMinerva extends SkinTemplate { /** * Returns an array of sitelinks to add into the main menu footer. - * @return Array array of site links + * @return array Array of site links */ protected function getSiteLinks() { $menu = new MenuBuilder(); diff --git a/resources/skins.minerva.mainPage.styles/common.less b/resources/skins.minerva.mainPage.styles/common.less index ed8d895..06406c5 100644 --- a/resources/skins.minerva.mainPage.styles/common.less +++ b/resources/skins.minerva.mainPage.styles/common.less @@ -18,7 +18,7 @@ } #page-secondary-actions { - .language-selector { + a { margin-top: 1em; } } diff --git a/tests/phpunit/skins/SkinMinervaPageActionsTest.php b/tests/phpunit/skins/SkinMinervaPageActionsTest.php index 4582cfa..ccdfb3e 100644 --- a/tests/phpunit/skins/SkinMinervaPageActionsTest.php +++ b/tests/phpunit/skins/SkinMinervaPageActionsTest.php @@ -66,6 +66,11 @@ class SkinMinervaPageActionsTest extends MediaWikiTestCase { $skin = $this->getSkin( Title::newMainPage() ); $this->assertFalse( $skin->isAllowedPageAction( 'watch' ) ); + $this->assertFalse( $skin->isAllowedPageAction( 'edit' ) ); + + // Check to make sure 'talk' and 'switch-language' are enabled on the Main page. + $this->assertTrue( $skin->isAllowedPageAction( 'talk' ) ); + $this->assertTrue( $skin->isAllowedPageAction( 'switch-language' ) ); } /**