Albert221 has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/400451 )

Change subject: Improve visual hierarchy on Newsletter page
......................................................................

Improve visual hierarchy on Newsletter page

Bug: T180982
Change-Id: If9d895cac49c3a245997af370ddaa860a35ece4c
---
M extension.json
M i18n/en.json
M includes/content/NewsletterContent.php
A modules/ext.newsletter.newsletter.styles.css
4 files changed, 35 insertions(+), 48 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter 
refs/changes/51/400451/1

diff --git a/extension.json b/extension.json
index 484af1d..7216f5a 100644
--- a/extension.json
+++ b/extension.json
@@ -121,6 +121,10 @@
                "ext.newsletter.newsletters.styles": {
                        "position": "top",
                        "styles": "ext.newsletter.newsletters.styles.css"
+               },
+               "ext.newsletter.newsletter.styles": {
+                       "position": "top",
+                       "styles": "ext.newsletter.newsletter.styles.css"
                }
        },
        "ResourceFileModulePaths": {
diff --git a/i18n/en.json b/i18n/en.json
index 35df6a4..4cad01f 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -40,7 +40,7 @@
        "newsletter-subscribe-loginrequired": "Please log in to subscribe to 
[[Special:Newsletters|newsletters]].",
        "newsletter-notfound": "Newsletter not found",
        "newsletter-not-found-id": "A newsletter with this ID does not exist. A 
[[Special:Newsletters|list of existing newsletters]] is available.",
-       "newsletter-view-mainpage": "Main page:",
+       "newsletter-view-mainpage": "Newsletter main page:",
        "newsletter-view-description": "Description:",
        "newsletter-view-publishers": "{{PLURAL:$1|Publisher:|Publishers:}}",
        "newsletter-view-subscriber-count": "Subscriber count:",
diff --git a/includes/content/NewsletterContent.php 
b/includes/content/NewsletterContent.php
index 831b337..54ae631 100644
--- a/includes/content/NewsletterContent.php
+++ b/includes/content/NewsletterContent.php
@@ -142,6 +142,8 @@
                $generateHtml,
                ParserOutput &$output
        ) {
+               $output->addModuleStyles( 'ext.newsletter.newsletter.styles' );
+
                if ( $generateHtml ) {
                        $this->newsletter = Newsletter::newFromName( 
$title->getText() );
                        // Make sure things are decoded at this point
@@ -152,18 +154,20 @@
                        $mainTitle = $this->mainPage;
 
                        $fields = [
-                               'mainpage' => [
-                                       'type' => 'info',
-                                       'label-message' => 
'newsletter-view-mainpage',
-                                       'default' => 
MediaWikiServices::getInstance()->getLinkRenderer()->makeLink( $mainTitle ),
-                                       'raw' => true,
-                               ],
                                'description' => [
                                        'type' => 'info',
                                        'label-message' => 
'newsletter-view-description',
                                        'default' => $this->description,
+                                       'cssclass' => 
'newsletter-headered-element',
                                        'rows' => 6,
                                        'readonly' => true,
+                               ],
+                               'mainpage' => [
+                                       'type' => 'info',
+                                       'label-message' => 
'newsletter-view-mainpage',
+                                       'default' => 
MediaWikiServices::getInstance()->getLinkRenderer()->makeLink( $mainTitle ),
+                                       'cssclass' => 
'newsletter-headered-element',
+                                       'raw' => true,
                                ],
                                'publishers' => [
                                        'type' => 'info',
@@ -171,12 +175,14 @@
                                                $options->getUserLangObj() )
                                                ->numParams( count( 
$this->publishers ) )
                                                ->text(),
+                                       'cssclass' => 
'newsletter-headered-element',
                                ],
                                'subscribers' => [
                                        'type' => 'info',
                                        'label-message' => 
'newsletter-view-subscriber-count',
                                        'default' => !$this->newsletter ? 0 : 
$options->getUserLangObj()->formatNum(
                                                
$this->newsletter->getSubscribersCount() ),
+                                       'cssclass' => 
'newsletter-headered-element',
                                ],
                        ];
                        $publishersArray = $this->getPublishersFromJSONData( 
$this->publishers );
@@ -213,6 +219,7 @@
                                                        ->inLanguage( 
$options->getUserLangObj() )
                                                        ->numParams( $logCount )
                                                        ->text(),
+                                               'cssclass' => 
'newsletter-headered-element',
                                        ];
                                }
                        }
@@ -376,49 +383,13 @@
                        )->text()
                );
 
-               $user = $options->getUser() ? : null;
-               $actions = [];
-
-               if ( !$user || !$this->newsletter->isSubscribed( $user ) ) {
-                       $actions[] = self::NEWSLETTER_SUBSCRIBE;
-               } elseif ( $this->newsletter->isSubscribed( $user ) ) {
-                       $actions[] = self::NEWSLETTER_UNSUBSCRIBE;
-               }
-               if ( $user && $user->isLoggedIn() ) {
-                       if ( $this->newsletter->isPublisher( $user ) ) {
-                               $actions[] = self::NEWSLETTER_ANNOUNCE;
-                       }
-                       if ( $this->newsletter->canManage( $user ) ) {
-                               $actions[] = self::NEWSLETTER_MANAGE;
-                               $actions[] = self::NEWSLETTER_SUBSCRIBERS;
-                       }
-               }
-               $links = [];
-               foreach ( $actions as $action ) {
-                       $title = SpecialPage::getTitleFor( 'Newsletter', 
$this->newsletter->getId() . '/' .
-                               $action );
-
-                       // Messages used here: 
'newsletter-subtitlelinks-announce',
-                       // 'newsletter-subtitlelinks-subscribe', 
'newsletter-subtitlelinks-unsubscribe'
-                       $msg = wfMessage( 'newsletter-subtitlelinks-' . $action 
)->text();
-                       $link = $linkRenderer->makeKnownLink( $title, $msg );
-
-                       if ( $action == self::NEWSLETTER_MANAGE ) {
-                               $title = Title::makeTitleSafe( NS_NEWSLETTER, 
$this->newsletter->getName() );
-                               $msg = wfMessage( 'newsletter-subtitlelinks-' . 
$action )->text();
-                               $link = $linkRenderer->makeKnownLink( $title, 
$msg, [], [ 'action' => 'edit' ] );
-                       }
-                       $links[] = $link;
-               }
-               $newsletterLinks = Linker::makeSelfLinkObj(
-                               SpecialPage::getTitleFor( 'Newsletter', 
$this->newsletter->getId() ),
-                               $this->getEscapedName()
-                       ) . ' ' . wfMessage( 'parentheses' )->rawParams(
-                               $options->getUserLangObj()->pipeList( $links )
-                       )->escaped();
+               $newsletterLink = Linker::makeSelfLinkObj(
+                       SpecialPage::getTitleFor( 'Newsletter', 
$this->newsletter->getId() ),
+                       $this->getEscapedName()
+               );
 
                $wgOut->setSubtitle(
-                       $options->getUserLangObj()->pipeList( [ $listLink, 
$newsletterLinks ] )
+                       $options->getUserLangObj()->pipeList( [ $listLink, 
$newsletterLink ] )
                );
        }
 
diff --git a/modules/ext.newsletter.newsletter.styles.css 
b/modules/ext.newsletter.newsletter.styles.css
new file mode 100644
index 0000000..b93e2fd
--- /dev/null
+++ b/modules/ext.newsletter.newsletter.styles.css
@@ -0,0 +1,12 @@
+/**
+ * Stylesheet used on Newsletter:*.
+ */
+
+/* Selector is so long so that its specificity is big enough so I don't have 
to use `!important`. */
+.oo-ui-fieldLayout.oo-ui-labelElement.newsletter-headered-element > 
.oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label 
{
+       display: block;
+       margin-top: 0.5em;
+       font-weight: bold;
+       font-size: 1.2em;
+       line-height: 1.6;
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/400451
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If9d895cac49c3a245997af370ddaa860a35ece4c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Albert221 <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to