From 0e9b826517d439144288f49b9aa17a76c63b2505 Mon Sep 17 00:00:00 2001 From: Lars Bonczek Date: Tue, 17 Dec 2024 13:01:31 +0100 Subject: [PATCH] MDL-81655 theme: Fix maintenance warning positioning --- lib/outputrenderers.php | 2 +- theme/boost/scss/moodle/admin.scss | 4 ++++ theme/boost/scss/moodle/core.scss | 8 ++++++++ theme/boost/scss/moodle/layout.scss | 9 +++++++++ theme/boost/style/moodle.css | 27 +++++++++++++++++++++++++++ theme/classic/style/moodle.css | 27 +++++++++++++++++++++++++++ 6 files changed, 76 insertions(+), 1 deletion(-) diff --git a/lib/outputrenderers.php b/lib/outputrenderers.php index d80190886e0..88fd590421b 100644 --- a/lib/outputrenderers.php +++ b/lib/outputrenderers.php @@ -856,7 +856,7 @@ class core_renderer extends renderer_base { $timeleft = $CFG->maintenance_later - time(); // If timeleft less than 30 sec, set the class on block to error to highlight. $errorclass = ($timeleft < 30) ? 'alert-error alert-danger' : 'alert-warning'; - $output .= $this->box_start($errorclass . ' moodle-has-zindex maintenancewarning m-3 alert'); + $output .= $this->box_start($errorclass . ' moodle-has-zindex maintenancewarning alert'); $a = new stdClass(); $a->hour = (int)($timeleft / 3600); $a->min = (int)(floor($timeleft / 60) % 60); diff --git a/theme/boost/scss/moodle/admin.scss b/theme/boost/scss/moodle/admin.scss index c1aba6f3113..c78b87119c6 100644 --- a/theme/boost/scss/moodle/admin.scss +++ b/theme/boost/scss/moodle/admin.scss @@ -610,9 +610,13 @@ position: fixed; bottom: 0; right: 0; + margin: 1rem; overflow: hidden; z-index: $zindex-dropdown; } +.jsenabled .maintenancewarning { + @include transition(0.2s); +} .modal.modal-in-page { z-index: 0; diff --git a/theme/boost/scss/moodle/core.scss b/theme/boost/scss/moodle/core.scss index 758d4db0a8e..4d5781e7202 100644 --- a/theme/boost/scss/moodle/core.scss +++ b/theme/boost/scss/moodle/core.scss @@ -2237,6 +2237,10 @@ $footer-link-color: $bg-inverse-link-color !default; bottom: calc(4rem + #{$stickyfooter-height}); } +.hasstickyfooter .maintenancewarning { + bottom: #{$stickyfooter-height}; +} + .popover.footer { .popover-body { padding: 0; @@ -2268,6 +2272,10 @@ $footer-link-color: $bg-inverse-link-color !default; display: block; z-index: $zindex-dropdown; } + .jsenabled .maintenancewarning, + .jsenabled.hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 5rem; + } } .bg-inverse a { diff --git a/theme/boost/scss/moodle/layout.scss b/theme/boost/scss/moodle/layout.scss index d00602f86a1..88d0a97cf2b 100644 --- a/theme/boost/scss/moodle/layout.scss +++ b/theme/boost/scss/moodle/layout.scss @@ -175,6 +175,12 @@ visibility: hidden; } } + .hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 2rem; + } + .hasstickyfooter:has(.drawer-left-toggle) .maintenancewarning { + margin-left: 3.5rem; + } } @include media-breakpoint-up(sm) { @@ -233,6 +239,9 @@ .jsenabled & .btn-footer-communication { right: calc(#{$drawer-right-width} + 2rem); } + .jsenabled:has(&) .maintenancewarning { + right: calc(#{$drawer-right-width} + 5rem); + } } &.show-drawer-left.show-drawer-right { margin-left: $drawer-left-width; diff --git a/theme/boost/style/moodle.css b/theme/boost/style/moodle.css index f3d9f99d49d..851813430a9 100644 --- a/theme/boost/style/moodle.css +++ b/theme/boost/style/moodle.css @@ -25199,6 +25199,10 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions { bottom: calc(4rem + max(80px, 0.9375rem * 3)); } +.hasstickyfooter .maintenancewarning { + bottom: max(80px, 0.9375rem * 3); +} + .popover.footer .popover-body { padding: 0; } @@ -25226,6 +25230,10 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions { display: block; z-index: 1000; } + .jsenabled .maintenancewarning, + .jsenabled.hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 5rem; + } } .bg-inverse a { color: #fff; @@ -26939,10 +26947,20 @@ body.behat-site .action-menu .dropdown-subpanel-content.show { position: fixed; bottom: 0; right: 0; + margin: 1rem; overflow: hidden; z-index: 1000; } +.jsenabled .maintenancewarning { + transition: 0.2s; +} +@media (prefers-reduced-motion: reduce) { + .jsenabled .maintenancewarning { + transition: none; + } +} + .modal.modal-in-page { z-index: 0; } @@ -37018,6 +37036,12 @@ body.tox-fullscreen .tox.tox-tinymce-aux { pointer-events: auto; visibility: hidden; } + .hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 2rem; + } + .hasstickyfooter:has(.drawer-left-toggle) .maintenancewarning { + margin-left: 3.5rem; + } } @media (min-width: 576px) { #page.drawers .main-inner { @@ -37077,6 +37101,9 @@ body.tox-fullscreen .tox.tox-tinymce-aux { .jsenabled #page.drawers.show-drawer-right .popover-process-monitor, .jsenabled #page.drawers.show-drawer-right .btn-footer-popover, .jsenabled #page.drawers.show-drawer-right .btn-footer-communication { right: calc(315px + 2rem); } + .jsenabled:has(#page.drawers.show-drawer-right) .maintenancewarning { + right: calc(315px + 5rem); + } } @media (min-width: 992px) { #page.drawers.show-drawer-left.show-drawer-right { diff --git a/theme/classic/style/moodle.css b/theme/classic/style/moodle.css index e8840dcca83..7b11eca08d4 100644 --- a/theme/classic/style/moodle.css +++ b/theme/classic/style/moodle.css @@ -25199,6 +25199,10 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions { bottom: calc(4rem + max(80px, 0.9375rem * 3)); } +.hasstickyfooter .maintenancewarning { + bottom: max(80px, 0.9375rem * 3); +} + .popover.footer .popover-body { padding: 0; } @@ -25226,6 +25230,10 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions { display: block; z-index: 1000; } + .jsenabled .maintenancewarning, + .jsenabled.hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 5rem; + } } .bg-inverse a { color: #fff; @@ -26939,10 +26947,20 @@ body.behat-site .action-menu .dropdown-subpanel-content.show { position: fixed; bottom: 0; right: 0; + margin: 1rem; overflow: hidden; z-index: 1000; } +.jsenabled .maintenancewarning { + transition: 0.2s; +} +@media (prefers-reduced-motion: reduce) { + .jsenabled .maintenancewarning { + transition: none; + } +} + .modal.modal-in-page { z-index: 0; } @@ -36952,6 +36970,12 @@ body.tox-fullscreen .tox.tox-tinymce-aux { pointer-events: auto; visibility: hidden; } + .hasstickyfooter:has(.drawer-right-toggle) .maintenancewarning { + right: 2rem; + } + .hasstickyfooter:has(.drawer-left-toggle) .maintenancewarning { + margin-left: 3.5rem; + } } @media (min-width: 576px) { #page.drawers .main-inner { @@ -37011,6 +37035,9 @@ body.tox-fullscreen .tox.tox-tinymce-aux { .jsenabled #page.drawers.show-drawer-right .popover-process-monitor, .jsenabled #page.drawers.show-drawer-right .btn-footer-popover, .jsenabled #page.drawers.show-drawer-right .btn-footer-communication { right: calc(315px + 2rem); } + .jsenabled:has(#page.drawers.show-drawer-right) .maintenancewarning { + right: calc(315px + 5rem); + } } @media (min-width: 992px) { #page.drawers.show-drawer-left.show-drawer-right {