From c961102fc4439601355f451588330cbd8aeae367 Mon Sep 17 00:00:00 2001 From: DianaXWiki Date: Wed, 4 Jun 2025 12:16:19 +0300 Subject: [PATCH] Keep state of toolbar between resizing event #1831 --- www/common/common-ui-elements.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index 5d5a5d940..cd33f9e65 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -1365,6 +1365,7 @@ define([ $(this).attr('aria-pressed', String(!isExpanded)); $(this).toggleClass('cp-toolbar-button-active', !isExpanded); $(toolbarElement).toggle(); + toolbarVisibleOnSmallScreen = !isExpanded; }); $(toolbarElement).on('keydown', function (e) { @@ -1384,19 +1385,33 @@ define([ return window.innerHeight < 530 || window.innerWidth < 530; } + let toolbarVisibleOnSmallScreen = false; + let wasSmallScreen = isSmallScreenToolbar(); + UIElements.updateToolbarVisibility = function(markdownEditorWrapper, toolbar, editor) { let toggleButton = null; - if (isSmallScreenToolbar()) { + const isSmallScreen = isSmallScreenToolbar(); + + if (isSmallScreen) { if (!$(markdownEditorWrapper).find('.cp-markdown-toggle-button').length) { toggleButton = UIElements.createMarkdownToolbarToggle(toolbar, editor); $(markdownEditorWrapper).append(toggleButton); } - $(toolbar).hide(); + if (toolbarVisibleOnSmallScreen) { + $(toolbar).show(); + $(markdownEditorWrapper).find('.cp-markdown-toggle-button').addClass('cp-toolbar-button-active') + .attr('aria-pressed', true); + } else { + $(toolbar).hide(); + $(markdownEditorWrapper).find('.cp-markdown-toggle-button').removeClass('cp-toolbar-button-active') + .attr('aria-pressed', false); + } } else { $(markdownEditorWrapper).find('.cp-markdown-toggle-button').remove(); $(toolbar).show(); } - return toggleButton; // May return null if not created + wasSmallScreen = isSmallScreen; + return toggleButton; };