mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-11-16 18:58:45 +00:00
9150aec131
Two new feature flags: 1) MinervaPersonalMenu 2) MinervaAdvancedMainMenu Changes: * AMC defaults to false on desktop - desktop doesn't have AMC mode it just enables several skin options. * WHen inserting a link at the bottom of the page check whether the talk at top of the page (tabs) is enabled.. not AMC * Update ServiceWiring to construct menu based on MinervaAdvancedMainMenu and MinervaPersonalMenu - note when former is enabled but not latter there is no way to logout. Noted in README. * Use one entry point for skins.minerva.amc.styles/index.less * Document files inside skins.minerva.amc.styles to make it clear which features they are associated with * Drop history page styles when AMC is disabled - it's not possible to ever get to these as the history page redirects in non-AMC mode * Rename the class .minerva--amc-enabled to minerva--history-page-action-enabled to reflect its real purpose and move styles from skins.minerva.base.styles to skins.minerva.amc.styles No need to worry about cached HTML as AMC runs without cache... * Remove isAnyAMCOptionEnabled - it's an antipattern and should be discouraged as it discourages the art of feature flagging. Nothing is using it after these changes. * The AMC_MODE flag is disabled. There is no need for this - AMC is not a feature and therefore not a skin option. It is a mechanism for turning on other skin options. Tests are updated. Testing: It should now be possible to enable any feature in `beta` and see it in the beta of the site. Bug: T229295 Change-Id: I48959905f5c09721b14a27aa1a5ad82849ac6263
127 lines
3 KiB
Plaintext
127 lines
3 KiB
Plaintext
@import '../../minerva.less/minerva.variables.less';
|
|
@import '../../minerva.less/minerva.mixins.less';
|
|
|
|
.heading-holder {
|
|
padding: @titleSectionSpacingTop 0 0;
|
|
position: relative;
|
|
|
|
.tagline {
|
|
color: @colorGray5;
|
|
font-size: @taglineFontSize;
|
|
}
|
|
}
|
|
|
|
.page-heading {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
// used to disable the languages icon.
|
|
.mw-ui-icon-element.disabled,
|
|
.language-selector.disabled {
|
|
cursor: default;
|
|
opacity: 0.25;
|
|
}
|
|
|
|
#page-actions {
|
|
position: relative;
|
|
}
|
|
|
|
.page-actions-menu {
|
|
.box-sizing( border-box );
|
|
border-top: 1px solid @colorGray14;
|
|
border-bottom: 1px solid @colorGray12;
|
|
margin-top: -1px; // Offset top border.
|
|
}
|
|
|
|
.page-actions-menu__list {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
height: @pageActionToolbarHeight;
|
|
}
|
|
|
|
.page-actions-menu__list-item {
|
|
display: flex;
|
|
flex-basis: 4em;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
|
|
// overriding default icon styles
|
|
.mw-ui-icon-element {
|
|
// The page actions menu icons are ever so slightly larger
|
|
// than standard icons.
|
|
@pageActionsIconSize: @iconSize + 0.15;
|
|
@pageActionsIconTarget: 2.75em; // 44px minimum touch target
|
|
// explicitly added to ensure this element (which is an anchor) receives width/height
|
|
// when it's viewed in services that manipulate DOM such as Google Translate.
|
|
display: block;
|
|
position: relative;
|
|
min-width: @pageActionsIconTarget;
|
|
width: @pageActionsIconTarget;
|
|
height: @pageActionsIconTarget;
|
|
|
|
&:hover {
|
|
box-shadow: none;
|
|
}
|
|
|
|
&:before {
|
|
margin: 0;
|
|
// `.mw-ui-icon` absolutely positions this pseudo-element but only
|
|
// positions right & left. This ensures icon stretches 100% height and
|
|
// stretches the entire height of its parent element.
|
|
top: 0;
|
|
bottom: 0;
|
|
background-size: @pageActionsIconSize;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Layout for less than 5 items - one item at the beginning, rest at the end.
|
|
// |1-----2--3--4|
|
|
.page-actions-menu__list-item:first-child {
|
|
flex-grow: 1;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.page-actions-overflow-list {
|
|
// The top of the menu is flush with the bottom of the page actions toolbar.
|
|
top: 100%;
|
|
right: 0;
|
|
}
|
|
|
|
// overriding common.less `display:inherit` (which causes `display: flex;` in this instance).
|
|
.client-js .jsonly#ca-watch {
|
|
display: list-item;
|
|
}
|
|
|
|
// Watchstar is hidden for anonymous no-js users
|
|
// While we could link the icon to the login/signup form, this is not
|
|
// a perfect experience and could be confusing.
|
|
// In JavaScript this icon will be converted to a watch icon and will point
|
|
// to a Call to action to sign up/login and explain why that's a good idea.
|
|
// Thus, anonymous users without JS will never see this icon.
|
|
// This is a small % of our users, so deemed okay.
|
|
.client-nojs {
|
|
.watch-this-article {
|
|
visibility: hidden;
|
|
}
|
|
|
|
.is-authenticated {
|
|
.watch-this-article {
|
|
visibility: visible;
|
|
}
|
|
}
|
|
}
|
|
|
|
// On small devices that don't support Javascript, hide the page actions bar
|
|
@media all and ( max-width: @width-breakpoint-mobile - 1 ) {
|
|
.client-nojs {
|
|
#page-actions {
|
|
display: none;
|
|
}
|
|
|
|
#section_0 {
|
|
border: 0;
|
|
}
|
|
}
|
|
}
|