Commit graph

825 commits

Author SHA1 Message Date
Jon Robson 0c8caebfc6 Generate section edit links via SkinMustache
Bug: T346944
Depends-On: Ief6a6ee03ada8207fc5c60ea438412fa2d529022
Change-Id: I9f768706c0a0f14f14ee4b3812288218bef36018
2023-10-23 23:17:43 +00:00
jenkins-bot 47d023c767 Merge "Do not use data-mw=interface when watchstar is used as a CTA" 2023-10-23 21:14:54 +00:00
Martin Urbanec 8b04c45fb2 Do not use data-mw=interface when watchstar is used as a CTA
Why:
Minerva uses watchstar both as a client to action=watch
and as a CTA prompting users to create a new account.
To prevent error messages about permissions from being
displayed when logged in as a temp account (or not logged in
at all), the API requests should be only sent when users
actually has watchlist permissions.

This patch fixes that by only passing data-mw=interface when
the watchstar is actually used as part of MW watchlist interface,
ie. when user is logged in. That means the `mediawiki.page.watch.ajax`
module in core can avoid the watchstar element when it is not meant
as a watchstar, but as a "sign up" CTA button.

What:
* Make it possible to change (or omit) data-mw in SingleMenuEntry
  by a new constructor parameter.
* Make ToolbarBuilder::createWatchPageAction omit data-mw when
  user does not have watchlist permissions.

Notes: Based on coversation with Krinkle in
Ia0acdaf4dea5aa6788f89fdd73c5dba9af9f1ed7.

Bug: T344925
Change-Id: Id9d6d9e7394b52d11ac6ce0b7d33319b3a761789
2023-10-23 08:59:08 +02:00
Umherirrender dd5753c023 Replace empty() with falsy check
empty() should only be used to suppress errors
When the type of the variable is array,
a falsy check is the same (checks for null, false and empty array)
Found by a new phan plugin (T234237)

Change-Id: If24015795219f6ff4f155c0d667472dc52a04d43
2023-10-21 20:29:41 +02:00
Jon Robson a3f03245fd Style the desktop diff and history page of Minerva to look like mobile pages
Depends-On: Ie8ac1aab6d2fe5f4575a6891c36efe497458e093
Bug: T305113
Bug: T240624
Change-Id: I5a4a2588da3d701be87690038c2c9b2bc1aa0365
2023-10-20 18:35:10 +00:00
Ed Sanders a8aecda711 Udate jsdoc and use jsdoc-wmf-theme
Depends-On: Ic3861870c10f64d7f5414669a9d25b8ffb4c79a4
Change-Id: I6750e9bb6d5409e497b5605e3a4660734f5677ab
2023-10-20 13:42:19 +00:00
Jon Robson 7d59aa1843 Restore watchstar for anonymous users
Minerva shows a watchstar for anonymous users.

Follow up to
I3c9d59f49f1b939981a7b2b450448db6736d5958

Bug: T348336
Change-Id: I36afb86f0c89c30dcb7695e1409f7c20d3dc31d1
2023-10-06 18:05:08 +00:00
jenkins-bot 50563c1b23 Merge "Support extension of page actions via hook and addPortletLink" 2023-10-05 00:23:01 +00:00
Jon Robson 05231bb254 Support extension of page actions via hook and addPortletLink
This adds support for:
mw.util.addPortletLink('p-views', '#', 'text', 'fooz',null,
  null,'#page-actions-overflow' )

and adding multiple edit icons via hooks.

Depends-On: I655097769620301143140ded1cde4c7a16879ef4
Depends-On: I401805224c0f387ac85b52b50c1f298b83c03a91
Bug: T346944
Change-Id: I3c9d59f49f1b939981a7b2b450448db6736d5958
2023-10-04 22:15:47 +00:00
MusikAnimal 907e40d5c9 ToggleListItem: correct {{class}} to {{classes}}
This fixes the integration added with Ice909aab7f.

Bug: T242467
Change-Id: I8920e0878f676885a795fca8bfd2dc63ec1140cb
2023-10-03 16:42:29 -04:00
Jon Robson b51c6511ef Fixes history icon in green last modified bar
Currently the last modified bar icon appears black rather than
white. This is because the last modified icon shares icon CSS
with the page actions in AMC.

Untie these by giving the icon in this context a different selector,
taking care to support cached HTML.

Change-Id: I98443b0dcb88911a5314092216809387b4fb80dc
2023-09-25 20:40:55 +00:00
Jon Robson 658f1c3439 Fix Echo badges on desktop Minerva, remove module
Bug: T345785
Change-Id: I2913c60d609a11fa74d90e858bf112627553aa13
2023-09-11 14:35:40 -05:00
bwang 269bd5bdaf Remove old :before icon selectors and update selectors to not use minerva and wikimedia prefixes
Bug: T344022
Change-Id: I573d7b36513cd0b74f62621cc246f719bcb94256
2023-09-06 13:53:22 -05:00
bwang 0e391a87e0 Update addPortletLink for Codex
For testing make sure to check the 3 variants:
```
mw.util.addPortletLink('page-actions', '#', 'text' );
mw.util.addPortletLink('p-interaction', '#', 'text' );
mw.util.addPortletLink('p-personal', '#', 'text' );
```

Bug: T344006
Change-Id: Iad3a8d5ed1237c1438d170f07c9c3fe3784182fe
2023-08-29 19:27:56 +00:00
bwang 7bbb240db1 Make menuGroup.mustache use togglelist classes, ensuring ToggleList HTML is consistent. Remove duplicated CSS
Bug: T343920
Change-Id: I567d20171b0e511d00922adf250f97b9b8ed146b
2023-08-25 17:57:47 +00:00
bwang c188fac106 Clean up setIcon now that classes and icon types are removed
Bug: T319260
Change-Id: I354dafd6bea92ef61f6d25b5943ef9d933daa2a0
2023-08-24 21:37:40 +00:00
Jon Robson 952789bc17 Switch Minerva button template to use Codex and remove mw-ui-button
- Removes 'mw-ui-icon-with-label-desktop' as that is now the default behavior for icon only buttons in Minerva
- Removes icon flushing classes, use codex mixins instead

80 Visual changes relating to minor icon/button subpixel changes in the heading, edit section links, and page actions

Bug: T319260
Change-Id: I503b643d33e43196483af4b5f9dd312237322ac8
2023-08-24 15:57:01 -05:00
Martin Urbanec 0109b17483 watchlist: Don't assume only named users have watchlist access
In I1ccda3878a658d4251429ae65ebee04c09d81243, core decided
to technically allow temp. users to have watchlist access,
but have it disabled on permission level
(viewmywatchlist / editmywatchlist) instead of by isNamed() checks.

Minerva expects the watchlist permissions to be assigned to everyone,
but actual watchlist access to be available only to named user.
This is an incorrect assumption. Make a clear difference between
"page is watchable" concept (watch icon should show) and "user has
permission to watch" (if not, CTA to log in should show).

There is one additional step to fix, which is ensure
temp users receive the T330518 drawer. That is not a bug
in MinervaNeue, but in core -- mediawiki.page.watch.ajax.js uses
e.stopPropagating(), which means Minerva's CtaDrawer doesn't get
a say. Ideally, mediawiki.page.watch.ajax.js would know whether
the user has permissions to edit their watchlist. Alternatively,
it could have an interface to allow extensions to add their own
error handling. See T344925 for details.

Bug: T344870
Change-Id: Id1757fb4fb433fe39cf4d5c6e1e9c65ab5abae14
2023-08-24 14:12:43 +00:00
Umherirrender 5062970a5b build: Remove unneeded newline from one line condition
Improve readability

Change-Id: I4493126d97668ab3b4d24a6605ab1dabe7339e2e
2023-08-22 21:46:03 +02:00
Umherirrender 4ce42dd5cb Use namespaced MediaWiki\Html\TemplateParser
Bug: T321681
Change-Id: I7cec363ce0f4a6d5797a3f176b5cb766930a84fe
2023-08-20 02:48:10 +02:00
gerritbot fd2fe83a0c Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I236a14b07bd78141f82e86d7ea872d24b6cd88eb
2023-08-19 19:36:46 +02:00
jenkins-bot 7c59e349a9 Merge "Edit icon uses template parser" 2023-08-16 22:27:51 +00:00
Umherirrender 7701ce2641 Use HookHandlers for MobileFrontend hooks
The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.

Bug: T315823
Change-Id: I9422f0cf7d5c14db544ea67c564d34e9eca3813b
2023-08-15 17:02:31 +02:00
Jon Robson b7b4e4b01f Remove icons from about and disclaimer link and minerva-icon class
Legacy icons shouldn't have the minerva-icon class as this is meant
to be reserved for Icon template (Codex icons)

Bug: T342908
Change-Id: I63556fe42c8650bc5f0d6e5a0c5328b3f29d75f3
2023-08-11 11:56:08 -07:00
Jon Robson 12f3e033a7 Redo icon sizing
The current implementation enforces the size to be part of the
icon name. It would be preferable to have a specific class for
controlling size given we don't want to have to update all the
names of our icons.

Bug: T342908
Change-Id: I84407fb562c288bafe02e97ba7f3366de7f61611
2023-08-11 17:08:28 +00:00
Jon Robson 0c6ac2926d Edit icon uses template parser
Bug: T344007
Change-Id: I772f2c8be7e4f48e9d67a5d1d7d3ef9e6af17851
2023-08-10 22:04:11 +00:00
Jon Robson d342cb32ef [Icons] Use Button template in PageActionsMenu.
Use the Button.mustache partial in the
PageActionsMenu.mustache template.

This converts the page actions menu to use the Button
template in a way that doesn't change the existing HTML.
The mw-ui-icon-element and mw-ui-icon-with-label-desktop
classes are placed onto the Button.mustache markup.

Bug: T342908
Change-Id: Ib5dadd929eea2e72a24e061c4174348615890617
2023-08-10 19:27:44 +00:00
jenkins-bot 0c69779b73 Merge "Echo uses Button template" 2023-08-08 17:44:22 +00:00
Jon Robson ded6430b47 Echo uses Button template
Changes
* Update FIXME in userMenu.less to merge selectors
* We replace minerva-user-notifications class with minerva-notifications
to short-circuit Echo's code so that it no longer replaces the Minerva
notification badge with its own.
* We update resources/skins.minerva.scripts/initMobile.js to introduce
our own wire up code - this is responsible for opening Echo overlay
and reseting the counter. The code in Echo will be removed in a follow
up (see <I2f923e509d24524a2375ffbe6b3ef336487574bb>)
* We update skinStyles/ext.echo.styles.badge.less with styles from Vector 2022
so that Minerva desktop remains consistent with desktop Vector 2022 experience.
* We clearly mark technical debt relating to the special mobile version.

Testing:
* Pixel.js has a group echo that covers all the different variants.
Make sure to update to latest main branch before running these.
* Desktop should behave the same for Minerva as Echo.
* On mobile only when a user has unseen notifications a red circle
is shown. Otherwise a bell icon is shown, never with number.
* On mobile a single button is visible that combines alert and count
numbers.
* With Echo disabled a bell shows that links to the user talk page

Visual changes:
* Previously the red circle became a transparent/gray circle on click. Now
it will always be red.
* Minor aligment changes to red circle and bell icon are expected as
the change prevents MobileFrontend/Echo updating the icon to use
Codex.

Bug: T342907
Change-Id: I55c18cf723a32f80b93a01dd0687e005162c4e93
2023-08-08 15:44:38 +00:00
Jan Drewniak 3020e58eaa [Icons] Use IconLegacy template in menuGroup and ToggleListItem
Updates the menuGroup.mustache and ToggleListItem.mustache
templates to include the IconLegacy.mustache template partial.

These templates are used by the main menu and dropdown menus
(logged-in user menu and advanced mobile contributions 'more' menu).

This should result in no visual or HTML changes.

Bug: T342908
Change-Id: Idfad10b48c9ee9e833509e3c4063c6a4b014a31b
2023-08-03 13:11:16 +02:00
Jon Robson 3da423f219 [Icons] Main menu, secondary actions and search icon are built via templates
Bug: T342908
Change-Id: I30195583b35d3966d5f221241e21a0ef165a450e
2023-08-01 14:21:11 -07:00
bwang e6511ebe8f Add option for different icon sizes, reduce size of arrow icon in last modified bar
Change-Id: I494a02e5ba08cc7849cf1973f8f9163c672fccff
2023-07-31 14:18:49 -05:00
Jan Drewniak 11e09ea7b3 [Icons] Convert history/next status bar icons to Codex
Creates a new Icon.mustache file in favour of using
MinervaUI::iconClass.

Add a new icons.less file and the following icons:
- history
- expand (next) arrow.

These icons are used exclusively in the history
status bar at the bottom of most pages.

Bug: T319260
Change-Id: If81186418fe758d7be9c3e57cf5d2aa889517f2d
2023-07-28 16:56:24 -07:00
Thalia 53b524fbd3 DefaultMainMenuBuilder: Use UserIdentityUtils for temporary user check
Use instead of UserNameUtils, which has more dependencies.

Change-Id: I32ca33acf2511048a8c307c20a1f1a73c9fc3cf4
2023-07-27 18:02:36 +00:00
David Lynch 956baf5b55 Add "edit full page" to the minerva overflow menu
Bug: T203151
Change-Id: I2777a8346ab672ce2b4fcf37b19fd12ab5541224
2023-07-21 20:00:15 -05:00
Daimona Eaytoy e9e3095a10 Convert MinervaPagePermissions to Authority
Move away from User, and use Authority instead. The only exception is
isBlockedFrom, which still requires a User object, so inject a
UserFactory for that.

Simplify the test accordingly, and also remove implicit assumptions as
to what certain user groups are or aren't allowed to do (e.g., watch
pages).

Also avoid using TestUser as it needs a DB connection.

Change-Id: Idfff8fd00f7b01df1dc6ec509dfc0cbd10ce7ce0
2023-07-17 20:11:23 +02:00
MusikAnimal c8ce92140e DefaultOverflowBuilder: allow CSS class names to be applied to entries
Use the SingleMenuEntry constructor rather than the static create
method so that items can not only supply class names, but also with
array to string normalization.

This is useful so that extensions can add links with JS interaction,
such as with Ib3fe1063187

Bug: T242467
Change-Id: Ice909aab7f9ce49f36a954ac1bfce5eef14d30fc
2023-07-10 11:55:27 +00:00
thiemowmde cea344c168 MinervaUI: Remove unused code
Same as Ie1c2e93 in MobileFrontend.

Change-Id: I6508f5882609a0f528bcfa0eb66a5ddcb5e1b8b7
2023-06-30 09:05:45 +02:00
bwang d977c8d940 Update personal tools for temp users, add icon for temp users
Bug: T335546
Change-Id: I56315440016cde3aad051b37895f713fbb5dd239
2023-06-20 13:19:55 -05:00
Jon Robson ffbcf9e2eb Fixes: Sandbox link should not show in main menu
This was inadvertently added in
I3c08e804cbb778f025f45a184801cd7b1738c035 and is without
an icon.

Bug: T336838
Change-Id: Ie6a588297a586328faee514074e096e78989547d
2023-06-12 15:21:23 +00:00
jenkins-bot 26521c84c2 Merge "Create HookRunner class and the hook handler interface" 2023-06-09 23:35:39 +00:00
Jon Robson 567dd022ae Move to exclude list rather than include list
Follow up to 13d536a26

The current behaviour is unexpected and led to T336838. It also
seems like at some point the instrumentation for these menu items
also broke.

Going forward it would be easier to simply show any menu item which has
an icon. Also make sure that all menu items have a data-event-name
attribute so clicks to these menu items are captured.

Fixes:
* Contribute link is now not shown for anonymous users
as it was before

Changes:
* Ordering of menu items changes - settings is now below username
which is consistent with user
* All menu items are now tracked via event names consistent with
desktop.

Bug: T321746
Bug: T336838
Change-Id: I3c08e804cbb778f025f45a184801cd7b1738c035
2023-06-09 23:06:39 +00:00
Umherirrender 903034de23 Create HookRunner class and the hook handler interface
Bug: T315823
Change-Id: I09c45ed939e103e6edb3a76623687574dcf0206f
2023-06-09 22:19:59 +02:00
Daimona Eaytoy 1898a3ccab Replace deprecated MWException
And more generally remove `@throws` comment used for unchecked
exceptions, callers must not catch them.

Bug: T328220
Bug: T240672
Change-Id: I4768144d02feb6d4b6bae1a1ad39af6031f9613f
2023-06-08 17:16:36 +02:00
jenkins-bot 722e453c28 Merge "Revert "styles: Apply Codex z-index tokens"" 2023-05-29 22:11:07 +00:00
Jdrewniak cc513b9e72 Revert "styles: Apply Codex z-index tokens"
This reverts commit b28b80e222.

Reason for revert: Changes broke dialogs in mobile VE.

Change-Id: I957661a882b1d8aa50cede906631d29f4a51e530
2023-05-26 15:29:03 +00:00
jenkins-bot acc6286ecd Merge "styles: Apply Codex z-index tokens" 2023-05-25 16:17:49 +00:00
Santhosh Thottingal 13d536a26d
Show Contribute menu item in main menu when Special:Contribute is enabled
Bug: T336838
Change-Id: I32662dcb244a019bc8878c8b98f46370d4156eda
2023-05-25 13:27:39 +05:30
Volker E b28b80e222 styles: Apply Codex z-index tokens
Applying central Codex design tokens in new architecture.
This replaces all existing MN `z-index` tokens and comments on
replacement choice.

Bug: T285592
Change-Id: I23d794566898946a500c10713802d8dfaad993d1
2023-05-18 23:33:38 -07:00
Umherirrender 8c12e8b6dd Replace deprecated Hooks::run
Bug: T335536
Change-Id: I94280162586373a9399b3ec1b16ab9963e2d7945
2023-05-06 22:53:47 +02:00
Jon Robson 132a2ab7e8 Standardize user overflow menu
Make it behave just like the normal page actions menu, taking
its data from the core toolbox definition. This will allow it to
be extensible by extensions who declare an icon field for their
menu item.

Follow up to Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98

Depends-On: I6881785676e2909434991b633ac181d05a272352
Bug: T335603
Change-Id: I88ac38acf22fbce0c3e0a4f4c6efcaef4ca49907
2023-04-28 19:33:43 +00:00
Volker E 38ca243e39 styles: Replace 'mediawiki.ui/variables' call with skin variables
Replacing 'mediawiki.ui/variables.less' @import with
new skin-aware 'mediawiki.skin.variables.less' standard.
Removing calls for 'mediawiki.skin.variables.less' in favor for
'minerva.variables.less' for consistency.
Also
- replacing several static values with new Codex design token featuring
  skin variables of `background-color`, `color`, `border-*` and
  `transition` categories
- renaming several Less variables to variable naming standard
- moving a small number of MinervaNeue specific variables into
  'minderva.variables.less' file. Those should be replaced in mid-future
  by Codex design tokens

Please note, that this patch is not replacing all values with
possible Codex tokens. It's just applying them on selected
categories for consistency for now to keep the patch easier reviewable.
Further replacements will be done in follow-up patches.

Bump MediaWiki core required version to >= v1.41.0.

Bug: T319381
Bug: T332541
Depends-On: I98c8cc27527533e2efb3b987ee34bc403e988b75
Change-Id: I86c5a35377541a784552c29456e0b8b507b3ee9c
2023-04-24 16:08:27 +00:00
jenkins-bot 59fb41cd49 Merge "Use final action name when deciding to display navigation" 2023-04-17 17:52:48 +00:00
Bartosz Dziewoński c542b77a71 Use final action name when deciding to display navigation
Final action name can be different from the 'action' URL parameter.
This method was already used in several places in this code.

Bug: T334727
Change-Id: I803aec7c6d057616b88a8e3f4845ce8de399aa12
2023-04-17 18:54:48 +02:00
Umherirrender 69dd6f1c5b build: Convert resources/.eslintrc.js to json file
No javascript code in the file

Follow-Up: If778a8176b8a18cc9a5501f7147cc39fc0a48d45
Change-Id: I556d34a0f9e880cd4a0b97d7ef3e0831e2fef5eb
2023-04-11 19:06:04 +02:00
Func a5b815903d Remove jquery.tablesorter modules form the dequeue list
Preload via Skin::getDefaultModules() should be allowed to avoid
the separate load request in a fresh environment.

Also, cleanup the code and comments, 'sortable' => true is the default,
no need to specify again.

Bug: T233340
Change-Id: Icc04d2cd2dc85efab64e5c8de68e606cfad61480
2023-03-31 17:31:27 +00:00
Jon Robson 831e3d93b7 Drop dead code relating to Minerva-specific messages in overflow menu
Remove an unnecessary line as follow up to
Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98

Change-Id: I6f279d116d94c9840d453a3b50ea8ac6b66e7433
2023-03-28 16:31:21 +00:00
Jon Robson 666ebaae96 Make toolbox and actions menu more flexible to extension
Adjust the behaviour so the existence of an icon is all that is
needed to populate this menu. This will allow discussion tools
to extend the menu with their own item(s)

Depends-On: If2972da4456705f4a2f0cea90e73d0207a36a306
Depends-On: Ia9a9a08c68be652c16692db30e0efbe02fbfba0d
Depends-On: I2b85b9ac6997d07ed4ff995693f083d0ad1216dc
Bug: T332730
Change-Id: Ifd10da690a33e7fc5790a7b444b62fbfd1b95d98
2023-03-23 17:25:50 +00:00
jenkins-bot e1ebb4b196 Merge "Remove talk page tools" 2023-03-21 19:03:13 +00:00
jenkins-bot e5caabc136 Merge "Add languages to Minerva HTML" 2023-03-17 23:29:45 +00:00
Jon Robson b28d802693 Add languages to Minerva HTML
Bug: T331905
Change-Id: I55a25dfb8aba3d1b589a36ba4cba3bba0fe710a1
2023-03-17 20:37:32 +00:00
Bartosz Dziewoński 8c0f0c578e Remove talk page tools
Bug: T319145
Change-Id: Ib432564e1049f18334653e5eb3981f0f051582b3
2023-03-13 18:21:52 +00:00
jenkins-bot 274e32b2e4 Merge "Remove unused constructor params of MainMenuDirector" 2023-02-27 23:05:33 +00:00
Jon Robson 889543edcb Targets no longer needed
All match current default.

Bug: T328497
Change-Id: I9de21b59edc63bbe4b7d10891f469991dc5e80d4
2023-02-27 16:43:57 +00:00
Func e1c51814ac Remove unused constructor params of MainMenuDirector
The code was simplified in commit 1f94dbb, and these params become
unused.

Change-Id: Ie830200dd5b5fa3472300a27abc77cf88a2be324
2023-02-26 20:30:07 +08:00
ksarabia 973c9486d7 Remove onBeforePageDisplay for Minerva
Removes onBeforePageDisplay hook. This is no longer needed because module style is added through Skin::getDefaultModules via SkinMinerva->getSkinStyles

Bug: T281421
Change-Id: Ie0610735c96476e66629815a6611d6b34356707c
2023-02-13 13:22:35 -06:00
ksarabia 23aa23b68b Remove the Group::insertAfter() function in Minerva
Bug: T311895
Change-Id: Ice77bac6fb6ba948f3054c18d558f79ffd46506d
2023-02-08 16:52:42 +00:00
Umherirrender b21e4a98bc Avoid use of deprecated User::idFromName
Use a UserFactory instead of getting an id and the user objects on
second request

Also replace another deprecated User class and use the injected factory

Bug: T325687
Change-Id: Id610ee39e0ef865b97f7ae8506188eea04a86ac5
2022-12-21 22:35:49 +01:00
jenkins-bot 754b73c8e2 Merge "Tweak margins/paddings of Echo icons" 2022-12-14 16:43:52 +00:00
jenkins-bot 3c6a66d1af Merge "Use standard subtitle markup" 2022-12-14 04:13:59 +00:00
Bartosz Dziewoński 433458ba98 Tweak margins/paddings of Echo icons
On desktop, the "Alert" icon had more white space around it than the
"Notice" icon, and its popup displayed with a different offset.

On mobile, the combined icon jumped around while the page was loading.

Change-Id: Icdd5bc6e8478f3453b6461a35b7fb53e8ab014e9
2022-12-14 04:36:14 +01:00
Jon Robson f6f2c4f1e4 Show both Echo icons in desktop Minerva
For consistency with desktop Vector, Minerva should show two
icons. This also removes the duplicate #pt-notifications-alert
element in the skin.

Bug: T313609
Change-Id: I6449f0c29b52fd2092d63fbef23205ed8f57d50f
2022-12-14 02:08:44 +00:00
Jon Robson 028ab69a8b Echo icon should reflect seen status
Bug: T310358
Change-Id: I681a2540979ceeca677e576fca2efd91e1b80e15
2022-12-13 16:21:50 -08:00
Jon Robson 64fb00e237 Use standard subtitle markup
Bug: T324876
Depends-On: I8e538939a6d7d4474f2e96b93040f3c68c2f98ec
Depends-On: I4b178f67b6718fa9a84827e1804ec4eb1483f735
Change-Id: Ie24c0215d07d5e4605d8479ed9e950a3d9c9b086
2022-12-13 01:32:37 +00:00
Bartosz Dziewoński f8240fea6e Display correct numbers on the combined notification badge
Bug: T310559
Bug: T324690
Change-Id: If7568da5d34840853de43cd50a477a2aa9a18d0f
2022-12-12 23:39:25 +00:00
suecarmol b4e78eace4 HookRunner - Change PreferencesGetLayoutHook params
Changed the PreferencesGetLayoutHook parameters so thatit no longer passes a Skin variable. Now, the hook willpass an additional string variable with the skin name  and an associative array with extra skin properties the hook might need.

Bug: T322781
Change-Id: I200aec586dbe8613e9a9c762db8d9bcbdc69a35b
2022-11-18 20:17:47 -06:00
jenkins-bot 15eaff1a5a Merge "MinervaPagePermissions: Don't assume that indirectly editable contents don't have an edit action" 2022-11-08 13:55:59 +00:00
Reedy 8d23e02358 Group: Fix string interpolation
Bug: T314096
Change-Id: Ie61a2b703585d9f1bb3d0b0018f043a5a62c77d5
2022-11-04 14:45:21 -06:00
jenkins-bot 7f3cba5df4 Merge "SkinMinerva.php: Improving naming and documentation of talk page overlay checks" 2022-10-25 17:15:33 +00:00
Ed Sanders c5976996d9 SkinMinerva.php: Improving naming and documentation of talk page overlay checks
Change-Id: Ie8bd5f591523f6eb0e1ef24cc2f61cc626fc478a
2022-10-24 00:00:42 +01:00
jsn 73d9281e75 hooks: reference PreferencesGetLayout docs
Bug: T320843
Change-Id: I74f089d2e44ecfb5a0ba6a3b34db8abd0ec9a24f
2022-10-20 12:04:26 -05:00
James D. Forrester 83b959fc8f MinervaPagePermissions: Don't assume that indirectly editable contents don't have an edit action
Bug: T315336
Change-Id: I178cc408750172cd9e0cdc61717aba291698936e
2022-10-19 13:21:23 -04:00
jsn 48cdc5a33d hooks: implement PreferencesGetLayout
Use mobile layout in Special:Preferences

Bug: T320586
Depends-On: I468481b66bf96880d1779cd11a46e18745e2c894
Change-Id: Ic6aa01e6e8806d1f2be8e07ca6c83decd62bc641
2022-10-12 20:54:55 -05:00
Reedy 9dd8065d4d Switch to MW core hooks to HookHandlers
Bug: T315823
Change-Id: I0d1eb1e2ea584904ee3a130b938bd372048a47eb
2022-10-04 23:05:38 +00:00
Jon Robson 44a93ed393 Enable associated pages tabs on Minerva
The logic to not show the "Special page" tab is no longer
needed as this is the default behaviour for this menu.

Change-Id: Ia7cd9fc699a9c4fb900b4592f0a5c5028380c7f7
2022-09-23 10:07:00 -07:00
jenkins-bot 67b54fd33c Merge "User menu overflow: add change block and unblock" 2022-07-18 17:47:35 +00:00
suecarmol 3c556a5bf1 Bugfix: Insert Nearby menu entry to group
After refactoring and simplifying the menu building, the Nearby option wasn't getting inserted into the Group.

Bug: T312864
Change-Id: If52ac42f64154e015eab8f97393e4255db23473f
2022-07-12 11:22:59 -05:00
suecarmol 3efc6db04b Group.php: Hard deprecate insertAfter() function
Hard deprecated the Group::insertAfter() function because it is not used in the Mediawiki codebase

Bug: T311894
Change-Id: I209d3fd492713425a2727fd48c5870f983a39f9b
2022-07-07 17:27:24 -05:00
jenkins-bot 7e4c9cc833 Merge "Refactor MainMenu building" 2022-07-01 18:28:46 +00:00
suecarmol 207705fced User menu overflow: add change block and unblock
Added the "Change block" and "Unblock user" to the array of possible menu entries for the overflow menu. These buttons will only appear when a user is already blocked.

Bug: T308570
Change-Id: I987083cfeb20a0c691d3fc631a9c844647fec9bf
Depends-On: If60a1194d63fff2b7b5ae1565be25a3b7b44fdf1
2022-07-01 12:21:33 -05:00
Func 2b5b97a9ce SkinMinerva: Display generic history link when viewing deleted revision
The OutputPage->isRevisionCurrent() function would return true if
the revid is equal to 0, I think maybe it's for page preview.
I can't see any way to identify the page preview and fix in that
function, but Minerva won't display history bar during preview, so
simply check the revid should be fine.

Bug: T311341
Change-Id: I665ccebd4f048b406030057b090812448f2b01e3
2022-06-29 00:21:13 +08:00
suecarmol 3e1cb1718f Refactor MainMenu building
* Created a buildMenuEntry function
* Replaced all Group::insert() functions with Group::insertEntry()
* Added a trackable parameter to check if a menu entry will be trackable
* Removed the MenuEntry class
* Removed the MenuEntryTest class
* Removed the Group::insert() function
* Changed tests in GroupTest to test Group::insertEntry() function

Bug: T221004
Change-Id: I39bed4e9a9b09f904cb3e5d78ccb3e6e175981a8
2022-06-23 18:29:05 -05:00
EllenR adc53dbbfc Add sortability to sortable tables for mobile web
changed value of $config['sortable'] from false to true

Bug: T233340
Change-Id: I76a3b2e966ebe291299b7a514d86e5607db95b4e
2022-06-21 18:02:07 +00:00
jenkins-bot cd2fe930fb Merge "Replace Action::getActionName by IContextSource::getActionName" 2022-06-16 19:07:46 +00:00
Umherirrender 9fcc068a28 Replace Action::getActionName by IContextSource::getActionName
IContextSource::getActionName exists since 3fdfef9 and returns a cached
action name, while Action::getActionName determine the action name
every time it is called.

Change-Id: I1390e6b6ecb7606480618dd5792cb0c446e048c1
2022-06-16 18:03:54 +00:00
Jon Robson 4a71506f5c Notification icon should be localized
Bug: T310537
Change-Id: If7995350cb5d39f7d443dd922a589552b1abce3c
2022-06-13 11:42:27 -07:00
Jon Robson 31c317308c Do not use the SkinMinervaReplaceNotificationsBadge hook to add Echo
Based on work done in I7b9cf401936be2421d0ad4efe963486404d50e6a
we switch to the standard notifications menu for Echo generation

Bug: T301263
Change-Id: Id611cc07aebfb94e50bde8902cbc0627393fa926
2022-05-27 18:14:47 +00:00
Jon Robson ac5f74d705 Use new ResourceLoader namespaces
Bug: T308718
Change-Id: I258f600453cba5a1b2b614e5d0ec8929733cde69
2022-05-27 16:40:01 +00:00
jenkins-bot db4cc4f8c9 Merge "Remove deprecated vendor prefixes and their mixins" 2022-05-23 23:37:30 +00:00
Ed Sanders d926771bd8 Remove deprecated vendor prefixes and their mixins
Additional change:
* The animation stylesheet pulled down for the storybook instance
in dev-scripts/setup-storybook.sh is no longer referenced anywhere
in assets so can be removed.

Bug: T306486
Bug: T308351
Bug: T308360
Change-Id: Ia9f2a05cde2724486f7e449261c5d4875388f5ab
2022-05-23 23:18:43 +00:00
bwang d5d94e6b6f Add settings menu item for anon users
Bug: T307696
Change-Id: Ib875bae5796ef021a06310582a4bbc41abb26555
2022-05-23 22:36:36 +00:00
Jon Robson 8c57c9c12d Enable special page tabs
For now this should be a NOOP as the existing "special" page tab
is removed, put it paves the way for using tabs on special pages.

Bug: T286466
Change-Id: Ic0b52b298d598c20987b172c81c732a31e409402
2022-05-18 21:41:00 +00:00
Ed Sanders 86caa17713 build: Update linters and linter config
* Update stylelint-config-wikimedia to 0.13.0
* Ensure eslintrc.js and root files are linted
  with server config

Change-Id: I59c49fedd5b0c4c5620f960b78e4f781a6bc5abb
2022-05-18 14:33:23 +01:00
jsn 7959e9fa08 Add block button to user namespace overflow
Bug: T307341
Change-Id: Ib8bcca0ab284900eff01468a416177435f02e7aa
2022-05-04 10:59:16 -05:00
bwang 79d4130fcc Hard deprecate MobileMenu Hook
Bug: T303309
Change-Id: Ice45416c4af4e8fd4bcda158c5f9b81e6c8c9491
2022-04-27 12:38:03 -05:00
Jon Robson 0fe451b23a FIXME cleanup
- Remove cached HTML relating to heading change
( I2ffdedd64414ffb3c6e441391a75fd6e744847a4)
- Update invalid instruction for selector in footer (I0bfc7f977cdaf5ce8873103346c64121d704b86c)
It appears this rule cannot yet be removed.
- Update classes for contributions icon on user pages
(I6c908acd70c0dca5bcb1754d1b25d3da2389feb8)

Change-Id: I271abf3d29dfcfd19d654514fb3f6d6e257505ab
2022-04-06 20:17:22 +00:00
Thiemo Kreuz 73749969d6 Re-arrange getHistoryLink method for readability
Most notably: Bail out as early as possible.

Change-Id: Ibd22bd41e6d38a807edf45acdcd72c29537a0c06
2022-04-04 20:03:24 +00:00
jenkins-bot f3565a4d7c Merge "Replace Title::newFromText by Title::makeTitle" 2022-03-13 21:56:31 +00:00
Umherirrender 3ed8be2752 Reorder checks in Defintions from cheaper to expensive
Check the messages first and only parse the Title if needed
Use local variable to avoid repeated call to functions

Change-Id: I376d06b807183fb23cb07ad33ee54b387beea6f9
2022-03-10 23:05:13 +01:00
Umherirrender 4831549b14 Replace Title::newFromText by Title::makeTitle
* Prefer Title::makeTitle in unit tests where the title is known,
  this avoids title parsing and can improve the test performance.
* Use Title::makeTitle for the user page like done in User::getUserPage

Change-Id: I3901a6ed208a5ff90b216d01d3c4962cdcb48db1
2022-03-10 22:42:56 +01:00
Reedy b6685f9c4a Namespace SkinMinerva
Change-Id: I8f6bddac9f8cd060c551651e711ee987b8bbfbe3
2022-03-04 17:50:20 +00:00
Reedy 87bb746849 Namespace two more classes
Change-Id: Id32beb98df0f37ced858c17196517f65b64a041c
2022-03-04 16:33:46 +00:00
jenkins-bot 6d4558de86 Merge "Deprecate MobileMenu hook" 2022-02-28 22:09:18 +00:00
Umherirrender 3dd1fd841a Use new namespace for MediaWiki\SpecialPage\SpecialPageFactory
MediaWiki\Special is alias since 1.35

Change-Id: Ifb8a64c5fe7e413178f94ecc89b7a960d04064b2
2022-02-26 22:31:38 +01:00
jenkins-bot 4e7642926e Merge "Search icon should be part of search form for grade C browsers" 2022-02-24 00:56:04 +00:00
Jon Robson dc422a3def Deprecate MobileMenu hook
Bug: T291568
Depends-On: I2c75e210ac914ee4d63969314c82451fc8172da0
Change-Id: I00c3e0d4178447c547f25be580c5b99ee65bef60
2022-02-22 18:18:42 +00:00
Jon Robson fade8ad2c2 Search icon should be part of search form for grade C browsers
Cached HTML friendly change which works by limiting styles to the new
HTML which is identified by the existence of the
minerva-search-form class

Bug: T301257
Change-Id: I61ba77a349a38e6a05f87f600ec31bcbf36f306a
2022-02-22 08:40:55 -08:00
jenkins-bot c9bd66df37 Merge "Allow msg key to be overridable" 2022-02-17 18:16:08 +00:00
Jon Robson 0659e174c9 Allow msg key to be overridable
Minerva already overrides the text label for the Home menu item.
To allow other extensions to override it again, we can also consult
the msg key.

Bug: T291568
Change-Id: I3107a6d1e6ace26c7ab9c49c49768d2adcda8792
2022-02-17 16:44:37 +00:00
Reedy e4bcb8f050 Remove SkinMinervaNeue alias
Bug: T301811
Change-Id: I71c02347e43f9e4744fb1aa0c6c8e24ab0790f16
2022-02-16 18:26:10 +00:00
Tim Starling 0bfcad1b1f Move the sidebar cache to core
This cache is unnecessary since I reimplemented it in core.

Change-Id: I31e5694bebb3c73b88c11827ff3cd953233269f4
2022-02-11 11:21:31 +11:00
jenkins-bot 46303db1cd Merge "Fix spacing between icon + text in toggle menu and JS" 2022-02-10 16:54:27 +00:00
Jon Robson a53509354c buildContentNavigationUrls will be made internal and private
Bug: T300284
Change-Id: Ic3011e2c9763b62a74e401b3f28e53e73a6ec7ab
2022-02-08 23:18:50 +00:00
Jon Robson c88a68b38a The warningbox class is deprecated
Bug: T300306
Change-Id: I178a01a457c26981301c5171f0293402fbf9d377
2022-02-07 18:54:19 +00:00
BrandonXLF eae59a8c86 Fix spacing between icon + text in toggle menu and JS
This fix was already applied to the main menu in change
Idc603ccaeeb42f60899059ebb51226e8a20a969d

Bug: T301056
Change-Id: Id31fa76f40aab44672efc51fb981d481c27f1ff8
2022-02-05 20:28:59 -05:00
Jon Robson d8a1942808 Handle unexpected data coming from MediaWiki:Sidebar
Bug: T301003
Change-Id: I27fbd952f3c6139b00e8793a55044f451446a867
2022-02-04 13:16:40 -08:00
Jon Robson 0b3d21d58d Main page definition come from MediaWiki:Sidebar
Bug: T291568
Depends-On: Ia54d01eb5d8d9c33d067f61c73203f9fec4569a6
Change-Id: Ia9998780dc0a5f51af52d928499b51d5566cf29d
2022-02-02 00:44:56 +00:00
Jon Robson 6e297a7a9b [Refactor] Use core definitions for personal menu icons
Rather than hardcoding the icons for all our menu items
let's use the definitions in core.

This also makes it easier for us to deprecate the
MobileMenu hook in future.

Rejoice at all the code this removed!

Bug: T291568
Change-Id: I69b5ca13aee018982a5ea28677d4a37e663235d4
2022-01-19 00:33:16 +00:00
Jon Robson 3d2ad79de1 Use new watchlist icon in Minerva
Bug: T289619
Change-Id: I26b698beb8de67745bdfd3b88c5b36e5320d5d3d
2022-01-14 10:27:59 -08:00
Ammarpad 7ea7ed162d Remove usage of SkinTemplate::injectLegacyMenusIntoPersonalTools()
Bug: T298214
Change-Id: I9dc4c565419b38b557c0f22202ce58641bd210cf
2022-01-05 10:05:05 +01:00
jenkins-bot 9a9f3a72df Merge "Move the form element in Minerva's header and apply core checkbox hack consistently to toggle lists" 2022-01-04 22:16:04 +00:00
bwang 0bee6a1eb6 Move the form element in Minerva's header and apply core checkbox hack consistently to toggle lists
- Factors out Header and SearchBox partials

Bug: T294164
Depends-on: I16d1dfba1b6d0745afff14f1b79586bb17ecdd69
Change-Id: I997f3c2de5cf813db63220580e7cb3fe09aa6932
2022-01-04 11:01:17 -06:00
jenkins-bot 3bb487b733 Merge "Minerva uses core page title handling" 2021-12-22 18:06:54 +00:00
jenkins-bot 8ff17077a2 Merge "Remove some comments that literally repeat the code" 2021-12-20 20:05:32 +00:00
jdlrobson f9a8703a64 Minerva uses core page title handling
Bug: T265892
Change-Id: I2ffdedd64414ffb3c6e441391a75fd6e744847a4
2021-12-20 19:39:42 +00:00
Gagah Pangeran Rosfatiputra e49dd310e8 Make whole area of last edited section to be tappable
Now whole area of last edited section (from edge to edge) is tappable
and linked to history page.

Bug: T163853
Depends-Onː I3d1f272a27c5c9b0b0928b5c0eaeb3f6e270532b
Change-Id: I3c35bbaafea3376cd2f9dccfd13bfe4845fd6823
2021-12-20 16:31:42 +00:00
jenkins-bot 5a7b9c9372 Merge "Remove unused class property initialization" 2021-12-18 15:01:20 +00:00
Thiemo Kreuz 31659edf3d Use more narrow UserIdentity interface where possible
There is still a lot of places that need either an Authority or still
an actual User object. This patch changes the usages that can be
changed right now (almost) without any codechange.

The only additional change is the removal of an unused constructor
argument.

Change-Id: I0fbb3c2cc4cea7fba135d92b04421b0563c0f0c8
2021-12-17 18:16:49 +01:00
Thiemo Kreuz 29b682fc09 Prefer UserIdentity interface methods over User where possible
isRegistered() is a method in the much more narrow UserIdentity
interface. This change makes it easier to move code away from the
problematic User "god" class in core.

Change-Id: I99cb72591f073568f84bd1fd436381f3f11f3140
2021-12-17 16:57:44 +00:00
Thiemo Kreuz 73c79aeb68 Remove unused class property initialization
It's guaranteed to be initialized in the constructor.

Change-Id: I7c39e5ca3a80b8f9279bdecc3a724f39d1f987e3
2021-12-17 11:31:44 +01:00
Thiemo Kreuz e565347cd4 Remove some comments that literally repeat the code
Change-Id: I3960735fa59f7d607659acd31167802ee769a519
2021-12-17 11:29:11 +01:00
jenkins-bot 1b9d92e17d Merge "Wrap the sitenotice with div element as other skins do" 2021-12-15 21:35:58 +00:00
Func b4b2f4ded3 Wrap the sitenotice with div element as other skins do
Change-Id: Ifea461636f9000527556dc2881f83f00be5bff76
2021-12-10 11:20:35 +00:00
Kosta Harlan ed22536b44 ServiceWiring: Add fallback for when title is null
Services shouldn't rely on global state. The service should have a
method for setting the title manually, and callers to the service should
be updated to pass in the title (or other context items) as needed. As
is, this code causes the test for MediaWikiServicesTest.php to fail; it
appears to only pass in CI accidentally due to pollution of global state
from other tests that run before it.

Bug: T297068
Change-Id: I39c780d36583deb8b2edd7b12b425e949bd09cd1
2021-12-06 09:38:36 +01:00
vladshapik 023c5046d3 Avoid using User::getOption
Remove using of User:getOption since this method
will be hard-deprecated. Now it is soft-deprecated.

Bug: T296083
Change-Id: I9f762cf27d7c778c8c391cde1409b510bd3e4e67
2021-11-30 12:54:03 +01:00
jenkins-bot f4b3b11053 Merge "Fix history link" 2021-11-29 23:36:42 +00:00
Clare Ming 11b703f616 Fix history link
- Show history link for view pages only.

Bug: T295772
Change-Id: I01b4aa6975543fbfe015ff9cd439f82b5baf3e5b
2021-11-29 13:34:09 -07:00
jdlrobson 76a12a2ad4 Restore logo to footer
In 894364a3eb we moved the section tag for data-logos outside Logo
but did not add it to the footer

Bug: T295773
Change-Id: I52c07e95ac8166e9e9d11aba7cb3130cc6a2f8d7
2021-11-29 10:59:23 -08:00
bwang 083ab9c6c3 Remove markup icon code
Bug: T288928
Depends-on: I553bbcc9f1a98d75e160ede7a66ffcf6510fa28a
Change-Id: Ida0c41d2dab229e882c5e78e5702cc921bbdb928
2021-11-23 17:26:37 +00:00
bwang ceb7961c75 Update sandbox icon in personal menu
Bug: T288928
Change-Id: Ia4ddeefb43ad089832532d68c7c48cd021ecb14e
2021-11-23 11:18:56 -06:00