Commit graph

163 commits

Author SHA1 Message Date
Bartosz Dziewoński edc28d3d7c Put mobile ellipsis button menu in an overlay
This avoids unexpected interactions where choosing an option in the
menu behaves like tapping the heading.

Bug: T348217
Change-Id: I7c38bb51fa99606e708d3ff5a2f3d6101dec2fae
2023-10-07 03:05:23 +02:00
Kosta Harlan c6c7dd2fb0 overflow menu: Add hooks for registering and interacting with items
Why:

- We want to allow extensions to register interactive menu items in the
  overflow menu.

What:

- Create a PHP hook to allow extensions to provide menu items
  for rendering in the overflow menu
  - The hook allows for registering resource loader modules required by
    the menu item
  - The hook passes in some contextual information, like the thread
    item data, context source object, and if the page is editable
- Create a JS hook that fires when a user selects one of the menu items
- Example implementation: Ie9afbedb4f24cbd75eb48bb21dc9f6d8d732d853

Misc:

- Remove b/c code that existed to handle a transitional period where
  JSON encoded overflow menu data did not necessarily exist in the
  parser cache
- Rename code instances of ellipsis button / data / menu to refer to
  "overflow menu"
  - Some renames will have to wait until parser cache is updated; these
    are noted with TODOs

Bug: T342251
Change-Id: I5f2a51791f8ba7619d1399a4b93111e9bb44e172
2023-10-05 15:50:33 +01:00
Bartosz Dziewoński fe07a8914e Fix mobile section expand icon size after changes in MobileFrontend
Reverts I0af2707141 due to I5ca0870862f5.

Change-Id: Ib9a0a38774b85b2b80fbac7a0d9b81b7045c9e59
2023-10-05 09:15:00 +00:00
Ed Sanders b63884f561 Turn comment timestamps into permalinks
Bug: T275729
Change-Id: Ica9cfd9743a67fce170e8b078016fa79bf6fbb84
2023-10-02 14:53:47 +01:00
Bartosz Dziewoński 0c1ec851bf Fix interaction of "Add topic" button with categories
For real this time. I hope.

Follow-up to 52de4b0b1b.

Bug: T335219
Change-Id: I0f073cf660f221c1e996f7f46d161316e0b0b79e
2023-09-17 23:49:14 +02:00
Ed Sanders 73c341f02d Fix regression in layout of mobile expand icon
Bug: T344548
Change-Id: I0af27071419d4b0b993746d891051a742b239efb
2023-08-21 17:28:33 +01:00
Ed Sanders 0672f4c74a Remove DiscussionToolsEnableMobile
This existed to do a staged rollout to WMF wikis.

Bug: T322497
Change-Id: I4562c166f3f07bce972f9d599de211147d2dc631
2023-06-06 13:25:21 +01:00
jenkins-bot 2eaf6f81a2 Merge "Prevent squishing headings too much in visual enhancements mode" 2023-05-30 13:08:08 +00:00
Ed Sanders 6ec2e36e45 build: Update devDependencies
Change-Id: I29a4c712515453a0790ca2b346e53d555f366aea
2023-05-24 18:55:11 +01:00
Bartosz Dziewoński cff03d96ec Fix Vector 2022 TOC metadata styles
Stuff changed in Vector.

Change-Id: Iff99763b6013dd687ceb6367d50cfd936ecb987b
2023-05-14 16:47:48 +02:00
Bartosz Dziewoński dde4bdebc1 Prevent squishing headings too much in visual enhancements mode
Also, replace a `px` value with an `em` value in another similar case,
to support users and skins changing base font size. The exact values
don't matter that much.

Bug: T335823
Change-Id: I18778b13948abc18d67631d620be0b658d04facf
2023-05-12 16:42:40 +02:00
Ed Sanders fed7f9482f Drop IE11 support
The following are now available in all browsers we support:
* mix-blend-mode in CSS
* Node#contains

Change-Id: I324948f0bceac6d86999300e2b2c8756613e56d2
2023-04-12 17:19:44 +01:00
Bartosz Dziewoński 316e741868 Support topic subscriptions when JavaScript is disabled
Unsubscribing was already available from Special:TopicSubscriptions
when JavaScript is disabled.

* Add links to subscribe/unsubscribe in CommentFormatter
* Update links in skin navigation
* Add support for subscribing in the actions

Bug: T321431
Change-Id: If3c4bf7df309d0d98237c3b7b9c129cc2f72cda3
2023-04-10 21:30:19 +02:00
Bartosz Dziewoński 6a7d949703 Remove integration with removed MobileFrontend talk page tools
* Remove the hook we used to disable that feature
* Remove CSS that only applied when it was enabled
* Update code comments that referred to it

Bug: T319145
Change-Id: If21a04f6a087289d8249a786f7c991e5e12c9bed
2023-04-04 17:17:49 +02:00
jenkins-bot 24185a1471 Merge "styles: Replace 'mediawiki.ui/variables' call with skin variables" 2023-04-04 15:12:11 +00:00
Volker E 03d1ea70ab styles: Replace 'mediawiki.ui/variables' call with skin variables
Replacing 'mediawiki.ui/variables.less' @import with
new skin-aware 'mediawiki.skin.variables.less' standard.
Also
- replacing several static values with new Codex design token featuring
  skin variables – `background-color` `color`, `border-*`, `box-shadow`.
- removing skin overrides like `.skin-monobook`, they are now covered
  by the skin variables.
Patch requires MediaWiki core version >= v1.41.0.

Bug: T332541
Co-Authored-by: Volker E. <volker.e@wikimedia.org>
Change-Id: I36c7a0f5ed06c3eccd792b19b6a1972663f20df6
2023-04-04 01:14:24 -07:00
Ed Sanders 856b90fa3e Support hiding reply links in archived pages or sections
This can be done within sections using CSS:
* mw-archivedtalk

Or at a page level using a magic word:
* __ARCHIVEDTALK__

"archivedtalk" still detects the comments, but disables features
as appropriate for an archived conversion, i.e. the reply tool.

Bug: T295553
Bug: T249293
Change-Id: Ic47693e9a2f53f92563ccdd50203fb55c12d0493
2023-04-03 18:34:57 +02:00
Bartosz Dziewoński bfe4a81436 Fix [reply] spacing on mobile when usability improvements unavailable
Minerva uses block placement for the buttons only on pages where
usability improvements are available.

Follow-up to 869520a6d0.

Bug: T325416
Change-Id: I9e828197aea7bbaff86489f3ef6e256e0a0845ff
2023-03-23 00:17:18 +01:00
Ed Sanders d31254005f Update linters
Autofix some stylelint inssues

Change-Id: I5200899d253724a61bde127ccb00d8c0108af205
2023-03-22 22:38:41 +00:00
David Lynch fbd5f575a4 Allow overflow from section containers on mobile
The ellipsis buttons in sections on mobile weren't able to properly show
their dropdowns or parts of their highlight because of the section
overflow we applied with visual enhancements. Because this was added for
a block context to contain the floating subscribe links, scope this to
mobile where that shouldn't be a concern.

Bug: T330536
Bug: T330537
Change-Id: Ic9787d6ca622a8f8bfbf9797353129e7fa40f4b7
2023-03-09 10:50:38 -06:00
Bartosz Dziewoński 79675507d2 Remove more unused CSS for .ext-discussiontools-init-replylink-divider
Follow-up to cf6c18f364.

Change-Id: I4af2062e708866ee1b9a0a5947fb5f9eb95c2bbb
2023-02-25 21:31:06 +01:00
jenkins-bot 843b24478a Merge "Undo inline-flex hack, fix alignment of buttons with text when wrapped" 2023-02-24 00:11:31 +00:00
jenkins-bot 9a3ac50afd Merge "Remove unused CSS for .ext-discussiontools-init-replylink-divider" 2023-02-24 00:06:05 +00:00
jenkins-bot 112ea30c01 Merge "Remove some px font-size overrides on topic metadata and buttons" 2023-02-24 00:04:47 +00:00
Bartosz Dziewoński 869520a6d0 Undo inline-flex hack, fix alignment of buttons with text when wrapped
Bug: T325416
Bug: T260072
Change-Id: I8f5daeeb9869ba3a23ffb45e6c5ec3b360d810c8
2023-02-24 00:16:47 +01:00
Bartosz Dziewoński cf6c18f364 Remove unused CSS for .ext-discussiontools-init-replylink-divider
Not used anywhere, not even in gadgets. I guess it was for other
planned features, but it can be added back when needed.

Change-Id: I858e8854567ffae6ff11ba61d99b4b09b12dc7d7
2023-02-23 23:26:03 +01:00
Ed Sanders a00d1b7a87 Hide (un)subscribe buttons when JS disabled
These buttons require JS to do anything. We can consider
providing a fallback action for subscriptions at a later date.

Change-Id: I9da546b2968e06d80c515eb5a05656a462b8201d
2023-02-06 22:36:14 +00:00
Bartosz Dziewoński 579766b5ab Fix detection for the sticky "Add topic" being stuck
This fixes some animations when scrolling.

Change-Id: I5ed4a066436f673732227612c5b393ea47e16c45
2023-02-01 20:09:28 +01:00
Bartosz Dziewoński 52de4b0b1b Fix interaction of "Add topic"/"Read as wiki page" buttons with categories
Bug: T328452
Change-Id: Iabb52c73e4b4a83175d95d8d542ef752f6f961dc
2023-02-01 20:09:28 +01:00
Bartosz Dziewoński b75112f5e2 Tiny CSS simplification
Change-Id: I2b554ae524f36da5c495eb853af027b8ab21ece7
2023-02-01 20:09:28 +01:00
Bartosz Dziewoński 4e69ae1a18 Fix double margin/padding on the mobile lede dialog
Change-Id: Ib5bf882c04d0979728fbfb65b4e9767ddbb4f6d2
2023-02-01 20:09:28 +01:00
Bartosz Dziewoński f292c703ca Remove some px font-size overrides on topic metadata and buttons
After T314714, they are no longer needed for Vector, MonoBook etc. –
the elements will just use the normal body font size.

This changes the font size slightly on some skins (MonoBook, Timeless),
but I think that's okay.

We still want to customize the font-size for mobile (Minerva), and
we can do that with `em` now.

Bug: T325104
Change-Id: I3fab8588b1b0e3a43aac4c32a3610f64fb3d3fb3
2023-01-24 10:21:31 +00:00
Bartosz Dziewoński 88e4956711 Hide "Add topic" footer on talk pages when empty state is shown
We already have code to hide it (added in a98cd369ba),
but this code (added in b132522fa9) made it reappear.

I think this rule was added in the development of that
change when the class was placed on a ButtonWidget,
to override `display: inline-block` on it, but it was
then moved to another element, removing that need.

Bug: T327536
Change-Id: I2a162dde93d04d76f6d5540edf6d3c4719a67f92
2023-01-23 21:16:11 +01:00
Bartosz Dziewoński 6d8f92a6b2 Tweaks for new heading HTML structure
Bug: T327328
Bug: T327469
Change-Id: I8c7593e98dc677b28925129dda592dbc24106220
2023-01-20 06:23:23 +01:00
Bartosz Dziewoński 2a38098785 Flip the reply button icon on RTL
Bug: T325664
Change-Id: Id254420db317848e4894c9c683a3b27a98931155
2023-01-10 00:38:17 +00:00
David Lynch c706562ce9 VisualEnhancements: in some languages put an arrow by the reply button
New config: DiscussionTools_visualenhancements_reply_icon_languages

Config is set up with a provide_default merge strategy so we can remove
items from it quickly if need be.

Bug: T323537
Change-Id: Ib748897a2162bb233000f7364e30b268932f4c4a
2022-12-13 00:11:08 -06:00
Bartosz Dziewoński fda9f159f5 Deemphasize "Learn more about this page" link
* Increase selector specificity to make it work
* Tweak colors, they were lighter than intended
* Use color rather than opacity on text to avoid making it blurry
  (opacity disables subpixel rendering)

Bug: T324702
Change-Id: Ie32a7481ea90b983cd33e6eae981d47db8612c9f
2022-12-07 22:13:55 +01:00
jenkins-bot 984f804f17 Merge "Don't collapse the lede section when it has comments" 2022-12-05 19:04:37 +00:00
jenkins-bot 8a6bc91f46 Merge "Consider MediaWiki:Talkpageheader message when adding "Learn more" button" 2022-12-05 19:04:35 +00:00
Bartosz Dziewoński b4475801fd Don't collapse the lede section when it has comments
Bug: T324139
Change-Id: I14e1dae0fef4177f5a6a223bc9b663e99c9f741c
2022-11-30 20:25:22 +01:00
Bartosz Dziewoński 74fbe19838 Consider MediaWiki:Talkpageheader message when adding "Learn more" button
We also need to move the code to the other hook to avoid adding it twice now.

Bug: T324046
Change-Id: I186d15f6e6537b47b019c9707d7ae8ef080f4ae2
2022-11-29 18:46:40 +00:00
Bartosz Dziewoński ea2e519b05 Hide buttons for print media
Change-Id: I6f4e5ee66de3a8d62727ae226f3b17a95a0ae2df
2022-11-29 00:36:49 +01:00
Bartosz Dziewoński 8452f94cf9 Use 'BeforePageDisplay' instead of 'OutputPageBeforeHTML' for once-per-page things
Also fix a CSS selector to handle content added in multiple
'OutputPageBeforeHTML' hook calls.

Bug: T323376
Bug: T323833
Change-Id: I480d9bf544d61f0cb7bfd04cadfbf053e7e1b70e
2022-11-25 16:12:16 +00:00
Bartosz Dziewoński 4cebf20e76 CommentFormatter: Fix condition for lede button to consider table of contents
(Also fix some related CSS that was accidentally moved in
Ie5198e902ec3fa7a7eba56cef6c6f0ef71ef7314)

Bug: T323241
Change-Id: I1fa67965a1b6b827c500a9de63f5b5295bee840d
2022-11-16 22:18:11 +01:00
jenkins-bot 954dc520b7 Merge "Make "Add topic" button sticky" 2022-11-16 19:06:30 +00:00
Ed Sanders b132522fa9 Make "Add topic" button sticky
Bug: T316175
Change-Id: Ie5198e902ec3fa7a7eba56cef6c6f0ef71ef7314
2022-11-16 12:23:34 +00:00
Bartosz Dziewoński 46d766f30d Remove override for Minerva hiding .tmbox, no longer needed
Depends-On: Ifb0316256bdec5008acc48544ddd3e2bf71b6d41
Bug: T257394
Change-Id: I7b442d2e009f631ec8ac183f4767ffcc1e94954c
2022-11-15 11:26:08 +01:00
Bartosz Dziewoński 310323b561 Tweak mobile styles for no-JS compatibility
Bug: T321430
Change-Id: I0f20750995d89c0bb4be9a70e594326f15a6de0b
2022-11-14 15:01:35 +01:00
Bartosz Dziewoński f27d173852 Remove some unused CSS
No longer needed since the "Subscribe" button was moved elsewhere
(2960853088).

Change-Id: I758469c6883fe6056dc3859b5b5d43d98771b518
2022-11-14 14:57:13 +01:00
Bartosz Dziewoński 04cfffe323 Move visualenhancements metadata and some buttons outside of <h2>
We wrap a `<div>` tag around the `<h2>`, and move some elements there.
The markup is inspired by and compatible with my proposal for T13555.

The "ext-discussiontools-init-section" class is moved to the `<div>`.

A small patch is needed in MobileFrontend to preserve the section
collapsing functionality: I11bff21e81046898ca63f3f432797129fa70ad88.

The following elements are now outside of `<h2>`:
* Metadata bar
* Subscribe button
* Ellipsis menu (only shown on mobile)

The following elements are sadly still inside of `<h2>`:
* Subscribe links (only shown on desktop)
* Section edit links from MediaWiki core
Trying to move them mucks up the CSS too much. I hope we can resolve
this later as a part of the work on T13555.

Depends-On: I11bff21e81046898ca63f3f432797129fa70ad88
Bug: T314714
Change-Id: I0bbdcfa02c334858737855349d7a35746de1d8f2
2022-11-10 23:35:40 +01:00