From 0c1ec851bfd1a525b071e01bfc78a7e3979e5c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Dziewo=C5=84ski?= Date: Sun, 17 Sep 2023 22:24:40 +0200 Subject: [PATCH] Fix interaction of "Add topic" button with categories For real this time. I hope. Follow-up to 52de4b0b1bceac50f314d0529a96113dac15583a. Bug: T335219 Change-Id: I0f073cf660f221c1e996f7f46d161316e0b0b79e --- modules/dt.init.less | 16 +++++++++++++++- modules/mobile.js | 8 +++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/dt.init.less b/modules/dt.init.less index afaa34a7d..fb80afb2e 100644 --- a/modules/dt.init.less +++ b/modules/dt.init.less @@ -823,10 +823,24 @@ h1, h2, h3, h4, h5, h6 { } // Tweak to prevent our footer buttons from overlapping Minerva skin elements (T328452). -.ext-discussiontools-init-button-notFlush { +// In cases where the "Read as wiki page" button is not shown: +.client-nojs .ext-discussiontools-init-new-topic, +.ext-discussiontools-init-new-topic-pinned.ext-discussiontools-init-button-notFlush { margin-bottom: 32px; } +// In cases where the "Read as wiki page" button is shown: +// stylelint-disable-next-line selector-class-pattern +.client-js .skin-minerva.ns-talk.ext-discussiontools-replytool-enabled { + .ext-discussiontools-init-new-topic-pinned.ext-discussiontools-init-button-notFlush { + margin-bottom: -32px; + } + + .ext-discussiontools-init-readAsWikiPage.ext-discussiontools-init-button-notFlush { + margin-bottom: 32px; + } +} + .ext-discussiontools-init-lede-button-container { margin: 0.5em 0; diff --git a/modules/mobile.js b/modules/mobile.js index 70bd9defc..8d52ec670 100644 --- a/modules/mobile.js +++ b/modules/mobile.js @@ -86,6 +86,9 @@ function init( $container ) { mw.track( 'webuiactions_log.show', 'lede-button' ); } + // eslint-disable-next-line no-jquery/no-global-selector + var $newTopicWrapper = $( '.ext-discussiontools-init-new-topic' ); + if ( !newTopicButton && // eslint-disable-next-line no-jquery/no-global-selector @@ -95,8 +98,6 @@ function init( $container ) { newTopicButton = OO.ui.infuse( $( '.ext-discussiontools-init-new-topic-button' ) ); // For compatibility with MobileWebUIActionsTracking logging (T295490) newTopicButton.$element.attr( 'data-event-name', 'talkpage.add-topic' ); - // eslint-disable-next-line no-jquery/no-global-selector - var $newTopicWrapper = $( '.ext-discussiontools-init-new-topic' ); var $scrollContainer = $( OO.ui.Element.static.getClosestScrollableContainer( document.body ) ); var $scrollListener = $scrollContainer.is( 'html, body' ) ? $( OO.ui.Element.static.getWindow( $scrollContainer[ 0 ] ) ) : $scrollContainer; var lastScrollTop = $scrollContainer.scrollTop(); @@ -148,7 +149,7 @@ function init( $container ) { /* eslint-disable no-jquery/no-global-selector */ if ( newTopicButton ) { - $( '.ext-discussiontools-init-new-topic' ).after( $readAsWikiPage ); + $newTopicWrapper.after( $readAsWikiPage ); } else { $( '#mw-content-text' ).append( $readAsWikiPage ); } @@ -163,6 +164,7 @@ function init( $container ) { $( '.return-link' ).length ) { $readAsWikiPage.addClass( 'ext-discussiontools-init-button-notFlush' ); + $newTopicWrapper.addClass( 'ext-discussiontools-init-button-notFlush' ); } /* eslint-enable no-jquery/no-global-selector */ }