mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-09-23 10:21:40 +00:00
Merge "Revert "Updates for core temp user autocreation feature""
This commit is contained in:
commit
4c8f7a5652
|
@ -88,7 +88,6 @@
|
|||
}
|
||||
|
||||
.vector-user-menu-legacy #pt-anonuserpage,
|
||||
.vector-user-menu-legacy #pt-tmpuserpage,
|
||||
.vector-user-menu-legacy #pt-userpage a {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAx0lEQVQ4jdXSzQmEQAwFYEuYUixhSwgkA8mQgKXYgS3YgXZgCZagHWgHuxf14t8osssGcv145CVJvjk+hBRFK2TrkK1D0cqHkN7CUBRI7L21KAqXMIDModiwD9oAkLlH0i3L+ooGiTWPAPPfJQTIHLGOB9h46YZnKS+3PI8PISW2GkV7FO2Jrb79h4+ODyElsYJYm437NSRWRCWdylgj++U0u+UAZI5E22hsWW03UWQtr2NT66zlCjz8uzNQbFiDN7F5/xB8aj57Ynp2FKI0bAAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
|
|
|
@ -22,23 +22,28 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
private $portletData;
|
||||
/** @var array */
|
||||
private $linkOptions;
|
||||
/** @var string */
|
||||
private $userIcon;
|
||||
|
||||
/**
|
||||
* @param MessageLocalizer $localizer
|
||||
* @param User $user
|
||||
* @param array $portletData
|
||||
* @param array $linkOptions
|
||||
* @param string $userIcon that represents the current type of user
|
||||
*/
|
||||
public function __construct(
|
||||
MessageLocalizer $localizer,
|
||||
User $user,
|
||||
array $portletData,
|
||||
array $linkOptions
|
||||
array $linkOptions,
|
||||
string $userIcon = 'userAvatar'
|
||||
) {
|
||||
$this->localizer = $localizer;
|
||||
$this->user = $user;
|
||||
$this->portletData = $portletData;
|
||||
$this->linkOptions = $linkOptions;
|
||||
$this->userIcon = $userIcon;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -73,11 +78,8 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
}
|
||||
|
||||
$tooltip = '';
|
||||
if ( $user->isTemp() ) {
|
||||
$icon = 'userAnonymous';
|
||||
} elseif ( !$isAnon ) {
|
||||
$icon = 'userAvatar';
|
||||
} else {
|
||||
$icon = $this->userIcon;
|
||||
if ( $icon === '' ) {
|
||||
$icon = 'ellipsis';
|
||||
// T287494 We use tooltip messages to provide title attributes on hover over certain menu icons.
|
||||
// For modern Vector, the "tooltip-p-personal" key is set to "User menu" which is appropriate for
|
||||
|
@ -135,7 +137,10 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
] + $portletData[ 'data-user-menu-anon-editor' ] );
|
||||
}
|
||||
} else {
|
||||
if ( isset( $portletData[ 'data-user-menu-logout' ] ) ) {
|
||||
// Logout isnt enabled for temp users, who are considered still considered registeredt
|
||||
$isLogoutLinkEnabled = isset( $portletData[ 'data-user-menu-logout' ][ 'is-empty' ] ) &&
|
||||
!$portletData[ 'data-user-menu-logout'][ 'is-empty' ];
|
||||
if ( $isLogoutLinkEnabled ) {
|
||||
$dropdownMenus[] = new VectorComponentMenu( [
|
||||
'label' => null
|
||||
] + $portletData[ 'data-user-menu-logout' ] );
|
||||
|
@ -150,7 +155,6 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
*/
|
||||
public function getTemplateData(): array {
|
||||
$portletData = $this->portletData;
|
||||
$user = $this->user;
|
||||
|
||||
$isDefaultAnonUserLinks = count( $portletData['data-user-menu']['array-items'] ) === 2;
|
||||
$isAnonEditorLinksEnabled = isset( $portletData['data-user-menu-anon-editor']['is-empty'] )
|
||||
|
@ -161,7 +165,6 @@ class VectorComponentUserLinks implements VectorComponent {
|
|||
] + $portletData[ 'data-vector-user-menu-overflow' ] );
|
||||
|
||||
return [
|
||||
'is-temp-user' => $user->isTemp(),
|
||||
'is-wide' => count( $overflowMenu ) > 3,
|
||||
'data-user-links-overflow-menu' => $overflowMenu->getTemplateData(),
|
||||
'data-user-links-dropdown' => $this->getDropdown( $isDefaultAnonUserLinks, $isAnonEditorLinksEnabled )
|
||||
|
|
|
@ -263,21 +263,8 @@ class Hooks implements
|
|||
private static function updateUserLinksDropdownItems( $sk, &$content_navigation ) {
|
||||
// For logged-in users in modern Vector, rearrange some links in the personal toolbar.
|
||||
$user = $sk->getUser();
|
||||
$isTemp = $user->isTemp();
|
||||
$isRegistered = $user->isRegistered();
|
||||
|
||||
if ( $isTemp ) {
|
||||
if ( isset( $content_navigation['user-page']['tmpuserpage'] ) ) {
|
||||
$content_navigation['user-page']['tmpuserpage']['collapsible'] = true;
|
||||
$content_navigation['user-page']['tmpuserpage'] =
|
||||
self::updateMenuItemData( $content_navigation['user-page']['tmpuserpage'] );
|
||||
}
|
||||
if ( isset( $content_navigation['user-menu']['tmpuserpage'] ) ) {
|
||||
$content_navigation['user-menu']['tmpuserpage']['collapsible'] = true;
|
||||
$content_navigation['user-menu']['tmpuserpage'] =
|
||||
self::updateMenuItemData( $content_navigation['user-menu']['tmpuserpage'] );
|
||||
}
|
||||
} elseif ( $isRegistered ) {
|
||||
if ( $isRegistered ) {
|
||||
// Remove user page from personal menu dropdown for logged in use
|
||||
$content_navigation['user-menu']['userpage']['collapsible'] = true;
|
||||
// watchlist may be disabled if $wgGroupPermissions['*']['viewmywatchlist'] = false;
|
||||
|
@ -299,7 +286,7 @@ class Hooks implements
|
|||
self::updateMenuItems( $content_navigation, 'user-menu-logout' );
|
||||
}
|
||||
|
||||
if ( !$isRegistered || $isTemp ) {
|
||||
if ( !$isRegistered ) {
|
||||
// Remove "Not logged in" from personal menu dropdown for anon users.
|
||||
unset( $content_navigation['user-menu']['anonuserpage'] );
|
||||
// Remove duplicate "Login" link added by SkinTemplate::buildPersonalUrls if group read permissions
|
||||
|
@ -393,11 +380,7 @@ class Hooks implements
|
|||
}
|
||||
|
||||
// Anon/temp overflow items
|
||||
$user = $sk->getUser();
|
||||
$isTemp = $user->isTemp();
|
||||
$isRegistered = $user->isRegistered();
|
||||
$isCreateAccountAllowed = ( !$isRegistered || $isTemp );
|
||||
if ( isset( $content_navigation['user-menu']['createaccount'] ) && $isCreateAccountAllowed ) {
|
||||
if ( isset( $content_navigation['user-menu']['createaccount'] ) ) {
|
||||
$content_navigation[$overflow]['createaccount'] = array_merge(
|
||||
$content_navigation['user-menu']['createaccount'], [
|
||||
'id' => 'pt-createaccount-2',
|
||||
|
|
|
@ -355,6 +355,8 @@ class SkinVector22 extends SkinMustache {
|
|||
];
|
||||
}
|
||||
|
||||
$isRegistered = $user->isRegistered();
|
||||
$userPage = $isRegistered ? $this->buildPersonalPageItem() : [];
|
||||
$components = $tocComponents + [
|
||||
'data-vector-variants' => new VectorComponentMenuVariants(
|
||||
$parentData['data-portlets']['data-variants'],
|
||||
|
@ -365,7 +367,8 @@ class SkinVector22 extends SkinMustache {
|
|||
$localizer,
|
||||
$user,
|
||||
$portlets,
|
||||
$this->getOptions()['link']
|
||||
$this->getOptions()['link'],
|
||||
$userPage[ 'icon' ] ?? ''
|
||||
),
|
||||
'data-lang-btn' => $langData ? new VectorComponentLanguageDropdown(
|
||||
$ulsLabels['label'],
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
{{#data-user-links-dropdown}}{{>Dropdown/Open}}{{/data-user-links-dropdown}}
|
||||
{{#is-anon}}{{#is-temp-user}}{{>UserLinks__templogin}}{{/is-temp-user}}{{/is-anon}}
|
||||
{{#data-user-links-dropdown-menus}}{{>Menu}}{{/data-user-links-dropdown-menus}}
|
||||
{{#data-user-links-dropdown}}{{>Dropdown/Close}}{{/data-user-links-dropdown}}
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
<div class="vector-user-menu-create-account">{{{htmlCreateAccount}}}</div>
|
||||
<div class="vector-user-menu-login">{{{htmlLogin}}}</div>
|
|
@ -44,7 +44,7 @@
|
|||
padding: @padding-vertical-dropdown-menu-item @padding-horizontal-dropdown-menu-item;
|
||||
font-size: @font-size-dropdown;
|
||||
|
||||
&:visited {
|
||||
&:not( .mw-selflink ):visited {
|
||||
color: @color-link;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
|
||||
/* Icon for registered user names & anonymous message */
|
||||
#pt-anonuserpage,
|
||||
#pt-tmpuserpage,
|
||||
#pt-userpage a {
|
||||
background-position: @background-position-nav-personal-icon;
|
||||
background-image: url( images/user-avatar.svg );
|
||||
|
@ -33,8 +32,7 @@
|
|||
}
|
||||
|
||||
/* Show anonymous "Not logged in" text in gray */
|
||||
#pt-anonuserpage,
|
||||
#pt-tmpuserpage {
|
||||
#pt-anonuserpage {
|
||||
color: #54595d;
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,11 @@
|
|||
.vector-dropdown .mw-list-item {
|
||||
a {
|
||||
.mixin-vector-dropdown-menu-item();
|
||||
color: @color-link;
|
||||
|
||||
// The link is a mw-selflink in the case of temporary users.
|
||||
&:not( .mw-selflink ) {
|
||||
color: @color-link;
|
||||
}
|
||||
|
||||
.vector-feature-page-tools-disabled & {
|
||||
.mixin-vector-dropdown-menu-item-deprecated();
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
#pt-userpage-2 {
|
||||
max-width: unit( 155 / @font-size-browser / @font-size-user-links, em );
|
||||
|
||||
a {
|
||||
a:not( .mw-selflink ) {
|
||||
// T312157 Override redlink (.new) color for non-existant userpage
|
||||
color: @color-primary;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue