Commit graph

174 commits

Author SHA1 Message Date
Bartosz Dziewoński 31c57d594a Do not duplicate item JSON in page HTML
Rather than setting it on both the reply link and the reply button,
set it on their parent element.

Update ReplyLinksController to handle this.

Change-Id: I650e9c0ebd354a82b8f66a63c5b4c02b2e29b105
2022-08-01 22:14:50 +00:00
Ed Sanders 980b2c38bc Make reply links into buttons when visual enhancements enabled
Bug: T255560
Bug: T309904
Change-Id: I3932f576086a43df89ff97a1b3dafdc27c54f71c
2022-08-01 20:59:53 +02:00
Ed Sanders 2f44d99184 Simplify CSS selectors for [reply] and [subscribe] links
:first-of-type selectors refer to the node name, so just
use :first-child and :last-child for the open and close brackets.

Change-Id: I2e8ca7e99d1262522ed2d3b5133093817af8ad29
2022-07-27 16:22:11 +00:00
Ed Sanders 2960853088 Move subscribe button up on desktop
Bug: T312674
Change-Id: I419883b5f9a4291b4bf575d57195d553fd5e291e
2022-07-27 13:55:03 +01:00
Ed Sanders 1d1df63cab Show empty state on mobile when there is only non-discussion content
Bug: T313801
Change-Id: I4e9910ef7d63c6ce330da1a896f518a9a22a12cd
2022-07-26 13:52:22 +01:00
jenkins-bot caefb1ae39 Merge "Show new topic tool empty state on existing pages with no topics too" 2022-07-07 21:52:36 +00:00
Bartosz Dziewoński a98cd369ba Show new topic tool empty state on existing pages with no topics too
Bug: T312599
Change-Id: I316d2f119b9c899ffaeebc7ec288823c826db092
2022-07-07 21:45:44 +00:00
jenkins-bot 3bb23f30f8 Merge "Remove some unused or redundant styles" 2022-07-07 20:50:17 +00:00
jenkins-bot 1e479288be Merge "Prevent the "Subscribe" button focus outline from being cut off" 2022-07-07 20:50:15 +00:00
Esanders d6a8c75899 Hide the lede section on mobile when DiscussionTools is enabled (2nd attempt)
Previously this was reverted in I28a5c774f5f after the initial
commit I3736b488046 caused T312177.

Bug: T311760
Change-Id: Iba65615378b183f0c970afff565f45cc878f1d71
2022-07-06 16:03:27 +01:00
Ed Sanders 72bb4aed13 Revert "Hide the lede section on mobile when DiscussionTools is enabled"
This reverts commit 69bfc6d6a2.

Reason for revert: Caused T312177

Bug: T312177
Change-Id: I28a5c774f5f9d0391a8addf5b31b9c229fb40948
2022-07-06 00:31:54 +01:00
Ed Sanders 98b5371a8c Have "Read as wiki page" link remove all DT content changes
As well as visual enhancements:
* Reply links
* Mobile lede section hiding

Change-Id: I14d591830620edf8bbaccb76b4bce0e87971d7c3
2022-06-30 23:02:50 +01:00
Ed Sanders 69bfc6d6a2 Hide the lede section on mobile when DiscussionTools is enabled
Bug: T311760
Change-Id: I3736b4880465359bcae9b903eecc57f1cd7674ef
2022-06-30 23:02:50 +01:00
Ed Sanders ae3be4aaf5 Always hide overflow menu when topic containers disabled
Change-Id: I05fbaa89992cfec8db50407f74061da7d1aabe2d
2022-06-30 23:02:50 +01:00
Bartosz Dziewoński b7d65bcaa7 Remove some unused or redundant styles
All of these either do nothing, or cancel out with other styles.

Change-Id: Ic2372bdc74efea288b4b906d16a6d17c86c217c4
2022-06-30 02:32:48 +02:00
Bartosz Dziewoński 6042778678 Prevent the "Subscribe" button focus outline from being cut off
We tried to align the buttons with the far edge of the page, but due
to skin styles setting `overflow: hidden` on the content, this is not
possible without causing the focus outline to be cut off.

Bug: T311662
Change-Id: Ie7c10c7564450c06231632892341c7fb232e7041
2022-06-30 02:32:48 +02:00
Bartosz Dziewoński aedb682e06 Use interface language direction for topic metadata wrapper
Bug: T305286
Bug: T311663
Change-Id: I31d9f7997c8894c344548636eea6c9a823698269
2022-06-30 02:32:48 +02:00
Ed Sanders 12dae82c70 Set height of ellipsis button to fix MenuWidget position
Bug: T311558
Change-Id: I6dedf488ec19cef02949f65a5b92e38f4e4c5f85
2022-06-29 12:28:01 +01:00
Ed Sanders 26cdf6789d Mobile topic containers: Fix right alignment of ellipsis button
The icon element should be aligned with the right side
of the content area, like the expand/collapse button, and
the edit pencil in the main namespace.

Change-Id: I191a5984bafc6a478674dd5dccff0594a743ff18
2022-06-29 12:22:53 +01:00
Ed Sanders 56989d18a3 Fix hiding of topic container top-border when mw:tocplace present
Change-Id: I382cfeb10c7f8407b559526b0ca06e0dcddd2191
2022-06-28 15:18:13 +01:00
Ed Sanders 7fc5a0c29d Topic containers: Design iterations
Bug: T310914
Change-Id: I9000f9902d612c58c6b3bc8b762232ca6dd9724f
2022-06-25 12:54:39 +00:00
Ed Sanders da64c43ccc Show thread metadata in section headers
Bug: T269950
Change-Id: Ifa47ddcbccf288be0bbecd5961eab7c5122aab7b
2022-06-23 17:17:09 +01:00
Bartosz Dziewoński 523efb065c Make comment markers inline-block to fix comment wrapping in Safari (in headings only)
Previous attempt: I40da5272fd9c44a5a81e303349d0e8fc404e344d.
Limit the hack to only end markers and only inside headings
to avoid causing issues with page content.

Bug: T298371
Change-Id: I9dc95e17752b7f048eb3343dbeea3526359197c3
2022-05-12 02:31:22 +02:00
Ed Sanders 4fb474d611 build: Update stylelint-config-wikimedia to 0.13.0
Change-Id: I164d6175f8077487e2d8dfbf0bcfbd13f1545cae
2022-05-04 23:25:06 +01:00
David Lynch faff90b96b Mobile empty state adjustments: hide image, bigger button
Bug: T305261
Change-Id: I503a62fafaebfe17e1dd2181e543dcc2dbac9eb1
2022-04-21 11:48:23 -05:00
Esanders 0e5ce694f3 Revert "Make comment markers inline-block to fix comment wrapping in Safari"
This reverts commit b4b6ae4e81.

Bug: T305721
Bug: T298371
Change-Id: I108595da651f5a746043b553c2bcf4bdfc64c437
2022-04-11 12:32:52 +00:00
Ed Sanders b4b6ae4e81 Make comment markers inline-block to fix comment wrapping in Safari
Bug: T298371
Change-Id: I40da5272fd9c44a5a81e303349d0e8fc404e344d
2022-03-18 14:31:36 +00:00
Bartosz Dziewoński 4ff65cf5e2 Update references to warningbox class
Bug: T301401
Depends-On: I632e42ee9065b38dca443beae1cb01ef714cae7b
Depends-On: I7a7046bf9b9765cbb82ec3caa1530de7f05e0da4
Change-Id: Ia42cf9cd5b63cfe679bdf90bfcbf528f14f9ebcc
2022-02-09 21:36:50 +01:00
Bartosz Dziewoński b019196e7a When using bullet syntax, hide the marker next to the reply tool
Bug: T259864
Change-Id: I47097c2b06f9deade7c234f08ebacb83d16a1d6d
2022-01-19 23:05:05 +01:00
jenkins-bot ed9fca9e5c Merge "Ensure [subscribe] buttons don't float too far away" 2022-01-12 15:06:11 +00:00
jenkins-bot 7e61125c23 Merge "Work around a Safari bug causing shadows to remain when the popup is removed" 2022-01-11 16:14:15 +00:00
Ed Sanders 9e98d72281 Fix collapsing whitespace in button section divider
Caused by inline-flex. These aren't used anywhere yet.

Change-Id: Ib9d407090d088e7c87112c22a3d8ae5bab5250c3
2022-01-09 00:42:25 +00:00
Ed Sanders c3d54ec8a5 Fix styling of reply links when reply tool is open
To better support adding more links to the buttons group:
* Only disable the 'reply' link when the reply tool is open,
  not all links in the button group. If future links need
  to be disabled (e.g. 'edit') they can be done on a per-case
  basis.
* Add a 'separator' class for adding more links.
* Don't hide 'reply' link when in use. This feature was added
  very early on (I03a98495) and a long time before we started
  greying-out all reply links when the tool was open (I3bb5ad8e7).
  It would also lead to a strange display if there were
  other links in the button group. Instead change the link to
  black to indicate it is in use.

Change-Id: I23cc8d305d1d1c323cb69081749443f6e19de6a4
2022-01-07 17:09:15 +00:00
Bartosz Dziewoński 704148bd44 Ensure [subscribe] buttons don't float too far away
Set `overflow: hidden;` on the heading element to establish a new
block formatting context, which will contain floating elements.
Most skins already do this, but not Timeless.

https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context

Bug: T298069
Change-Id: Ic7afd82095b7440cf8b61b3f3fd0085e755a773e
2021-12-22 22:20:29 +01:00
Bartosz Dziewoński 4242b848d8 Work around a Safari bug causing shadows to remain when the popup is removed
Bug: T297266
Change-Id: Id6c4c140d8e49ad995dbabeb95ef0e41aabba024
2021-12-17 17:57:54 +01:00
Bartosz Dziewoński a89d6ca445 Make preferences button in auto-subscription popup more obviously clickable
Bug: T295946
Change-Id: I3d30a91a2f4497bd5e222a507bdba853e8269162
2021-12-16 01:07:38 +00:00
Bartosz Dziewoński 9ded06a655 First-run experience popup for automatic topic subscriptions
Bug: T262103
Change-Id: I9f9336718ad060d553146c4e27604565ce5822c6
2021-11-15 22:45:42 +01:00
Bartosz Dziewoński 90283b3a7e Update the [subscribe] buttons when auto-subscriptions are added
When our interface initialized on a page that the current user
recently edited (using the reply tool, the full-page source editor,
or any other way), check if any new automatic topic subscriptions
were added and update the interface to reflect that.

This requires doing some API requests after the page is loaded,
because adding auto-subscriptions happens asynchronously in a
DeferredUpdate (potentially after the user is already viewing
the page with their comment saved), and depends on the contents
of the edit.

(When using the reply tool, we could avoid this API request and
replicate the logic, but that's not implemented in this commit
to keep it simple.)

Bug: T284836
Change-Id: Ic0fabda0de4ebbc5e424f49641e6b03ebb4b7e6a
2021-11-15 22:45:42 +01:00
jenkins-bot 779c5acd4f Merge "Fix layout of [subscribe] links on desktop Minerva" 2021-11-05 23:29:41 +00:00
Bartosz Dziewoński 9daf5e1202 Fix layout of [subscribe] links on desktop Minerva
This is the minimal fix, they still look out of place, but they don't
break layout of the whole page.

Bug: T292241
Change-Id: I1538962dd266fb455051e4dfe2680e47c4d1bb4c
2021-11-05 23:24:28 +00:00
Ed Sanders de4d4bfb21 Support new topic tool on mobile
* Use featuresEnabled.newtopictool to decide when new topic
  links might exist on the page, instead of relying on
  `#ca-addsection` existing. Change the logic of that feature
  flag to check if __NONEWSECTIONLINK__ is on the page.
* Render the add-topic button locally in a hook to replace
  the one suppressed by onMinervaNeueTalkPageOverlay. Do so
  whenever the newtopictool feature is enabled (see above).

Bug: T270537
Change-Id: I3e3f7403b3b86bb84fcb75a8833919512519b70f
2021-11-04 18:19:40 +00:00
Ed Sanders 900a01772f Support reply tool on mobile
Bug: T270536
Change-Id: I94d04e9cd442f9a4e0c5924da67c43a768417a8b
2021-11-03 17:49:06 +00:00
David Lynch 90bbcb904d Hide top-level error when new discussion widget is open as well
This will hide the user-not-registered warning, stopping it appearing
duplicated in the notices.

Change-Id: I508b5fc4161cb7e109f9a5a83f6188675c8be83a
2021-08-27 10:12:51 -05:00
David Lynch dcd3d23d31 Hide the top-level warningbox when the new discussion widget is open
Bug: T289354
Change-Id: I251bed09764a0d6389dbb62403ebacbf1abd41c3
2021-08-26 13:19:14 -05:00
David Lynch 503d2f1f76 Enforce no text-indent on our reply button
Change-Id: Ie26d7632ec4845cc9048c0261b51ff2a1b6b51e2
2021-08-20 13:46:23 -05:00
jenkins-bot 2cd97c4be5 Merge "Handle highlighting and scrolling to comments for bundled notifications" 2021-08-16 20:43:37 +00:00
Bartosz Dziewoński db28a3d3a7 Handle highlighting and scrolling to comments for bundled notifications
Notifications are bundled by section, so instead of linking to the
comment, link to the section.

Additionally, add a parameter to the URL listing all the comment IDs
from the bundle, and highlight them all and scroll to the topmost one.

Having to handle both URL fragments and URL query parameters makes
this code kind of a mess :(

Also, some unexpected changes became necessary:

* EventDispatcher.php: Store the section title in events using
  HeadingItem::getLinkableTitle() instead of ThreadItem::getText().
  The result is mostly the same, except in case of wacky markup like
  images or extension tags. We can more reliably use it to link to the
  section on the page, and we already use getLinkableTitle() when
  generating edit summaries in the reply tool for this reason.

* dt.init.less: Change the mix-blend-mode for the highlights from
  'multiply' to 'darken', so that multiple overlapping highlights do
  not look more opaque. This affects how the highlights look on
  non-white backgrounds and images (they're less blue, and on darker
  backgrounds entirely invisible), but it seems worth it.

Bug: T286620
Change-Id: I21bb5c003abc2747f0350d3f3af558dfb55693e9
2021-08-16 22:03:30 +02:00
David Lynch 642fede864 Apply design tweaks to empty states
Bug: T274831
Bug: T274832
Bug: T277329
Change-Id: I0dcdb3479ba668b78cf247856a8ec00d5ea37ab4
2021-08-11 14:33:43 -05:00
David Lynch 91af0594b5 Apply an empty-state to pages with the new topic tool enabled
This includes the dtrepliedto URL functionality from
I3f81e4d77faed367606e47678b8896051982359d.

Bug: T274831
Bug: T274832
Bug: T277329
Change-Id: I035d04f30c8312b0cb42902d3bf940df1482ffb3
2021-08-04 18:46:28 -05:00
jenkins-bot c5c4c86185 Merge "Change how highlights are positioned to work better with unaware tools" 2021-06-03 12:11:25 +00:00
Ed Sanders 6a24ceaeca Subscribe/unsubscribe with plain text links
Bug: T279149
Bug: T279151
Change-Id: Ie7d46ea2e8d458fcdad4f91bb89ba038969f6b62
2021-06-01 20:37:47 +02:00
Bartosz Dziewoński 9c58c0a203 Change how highlights are positioned to work better with unaware tools
Previously, our highlights were placed in a node at the end of
the page, and positioned absolutely in relation to the whole
page. Now we insert the highlight in the DOM near the comment,
and position it in relation to that.

This way it remains positioned correctly when the page shifts
(e.g. collapsing the table of contents), and disappears when
the page content is hidden (e.g. opening visual editor).

Bug: T281471
Change-Id: I60afc4b94b2e23376105638542563e595a1811d9
2021-05-31 23:07:02 +02:00
Bartosz Dziewoński db3c1b25cc Highlight target comment when following a link or notification
Bug: T281471
Change-Id: I8a5bca70d86364f3fade76f72d32d2bf1b9aaf37
2021-04-29 20:13:41 +02:00
jenkins-bot 60e1fa334f Merge "Remove deprecated dt- classes" 2021-04-23 17:35:51 +00:00
Bartosz Dziewoński a3f665e816 Remove <header> tags around headings for compat with MobileFrontend
We added it because the initial designs for the subscribe action were
much easier to implement like this, and topic "containers" (T269950)
would have required it.

However, the latest design of the subscribe action will not need it
(T279149), and topic containers are still very far away, so let's
remove it for now.

Bug: T280433
Change-Id: I21a23e9bea43f24d265750926fbd62b99038d3f1
2021-04-19 17:47:43 +02:00
Ed Sanders eb7e682d2f Topic subscription front end
Bug: T276996
Change-Id: Ifb62c04c2a0ea8399749b22021d6a1c5a079bf94
2021-04-06 23:28:28 +02:00
Ed Sanders b0a94405dc Remove deprecated dt- classes
Change-Id: I4fb59f187bf3e31fd9c31841576b3f69aec23634
2021-03-23 12:39:34 +00:00
Ed Sanders c4de603ef9 Give comments IDs so they can be scrolled to with hash links
Bug: T265268
Change-Id: Idb985ed38bdb74e23cb7840899a61dc919f05f6f
2021-03-20 15:43:23 +00:00
Ed Sanders ece8ff69ff Change dt- class prefix to ext-discussiontools-
Longer, but follows the style guide and less likely to conflict.

We need to account for init classes in the cache being around for
a while.

Change-Id: I738bc93393850db320fdbda2b003ca8ac40556da
2021-03-13 14:42:39 +00:00
Ed Sanders da72fb15c2 Only show reply links when body class in present
Bug: T273072
Bug: T274311
Change-Id: Ibe08c0eba0b80a5143845dcd1792d616ad8ffc61
2021-02-23 19:36:21 +00:00
Bartosz Dziewoński 3c7c9c6e3a Adjust new comment highlight timings
The new timing exactly matches MediaWiki's post-edit notification.

Bug: T268994
Change-Id: I8233f56ad6e0d95285fee7f514fce914e7897905
2021-02-08 16:49:50 +01:00
Ed Sanders 823d61a69c Use content direction for styling reply links
Change-Id: Ib14ff4b69a20a2e928925a790a8892b6b2e29794
2021-01-08 17:08:45 +00:00
Ed Sanders 236c46d256 Fix highlight rendering in Safari with GPU hack
Change-Id: Ib44aba55c568d0fc9fa8761b09abecd5b55b8897
2020-12-14 22:56:08 +00:00
Bartosz Dziewoński b92ae47e00 Tweak colors and timing of the highlight on posted comments
* Use a slightly different color
* Use 'mix-blend-mode: multiply' when available to avoid fading
  the text color
* Add fade-in animation and make fade-out animation slower

Bug: T268994
Change-Id: I210ed4fd55c3dc184d13daf915fa93bee3699ad5
2020-12-01 23:44:39 +01:00
Ed Sanders 64392af485 Add reply links on the server
Bug: T252555
Change-Id: I4e60fdbc098c1a74757d6e60fec6bcf8e5db37c1
2020-10-08 13:27:08 +01:00
Bartosz Dziewoński be2ec55114 Work around Chromium bug with triple-click selection and reply links
Through trial and error, I found that adding `display: inline-flex;`
avoids the issue, and does not seem to have any negative effects in
Chromium or other browsers.

Bug: T260072
Change-Id: I9a9ca1fdb57bb7dd6c1a0a70e330a2a503c8ec8e
2020-10-02 19:17:34 +02:00
Martin Urbanec deb3846281 Do not include .dt-init-replylink-buttons in printouts
Note: This patch was not tested.

Bug: T260071
Change-Id: I6bab50619cf6d2852e491877db95261982ff81a6
2020-08-10 17:55:08 +02:00
Ed Sanders 06eab3d961 Add square brackets around reply link and use lower case (when possible)
Bug: T249578
Change-Id: I5846106b10dc82231250d04a1f9ff025cfc1ca30
2020-06-09 19:55:14 +01:00
Bartosz Dziewoński c07243c88f Add 'cursor: pointer' to the reply link
Bug: T250337
Change-Id: I77949f59ac4da27e7a25b5c35ca2a9df66f22872
2020-04-27 18:30:07 +00:00
Ed Sanders 3af3f3ed8c Wrap reply link in container so it may contain more links in future
For example 'Edit'.

Change-Id: I3d3027724cfd69a6719932bb2cb80fa711010fc4
2020-03-09 12:52:18 +00:00
jenkins-bot a7db61d43f Merge "Highlight comment after saving" 2019-12-03 16:49:01 +00:00
Ed Sanders a6147ffac8 Highlight comment after saving
* Init on wikipage.content hook
* Update page state variables after save

Change-Id: I05a3c766668999f05cfe06473652429025595196
2019-12-03 16:40:35 +00:00
Bartosz Dziewoński 872c73e1b2 Reserve space for the "Reply" link when hiding it
Otherwise the rest of the page may shift if hiding the link changes
line-wrapping. It felt super confusing when it happened to me while
I was testing an unrelated thing.
https://phabricator.wikimedia.org/F31254175

Change-Id: I53aecdbf3bfba579b48875532d251de0f1c81d6c
2019-11-25 16:23:00 +00:00
Ed Sanders 8a0a400449 Fix opening/closing widgets multiple times
For now don't allow more that one widget to be open at once.

Change-Id: I3bb5ad8e79853f9b4115b761bd97e9d6d835a5c4
2019-11-21 08:22:25 -05:00