]> git.mxchange.org Git - friendica.git/commitdiff
fix toggle button
authorExtarys <hypewolf@protonmail.com>
Thu, 21 Jan 2021 22:02:28 +0000 (17:02 -0500)
committerExtarys <hypewolf@protonmail.com>
Fri, 22 Jan 2021 16:50:07 +0000 (11:50 -0500)
view/theme/frio/js/theme.js

index b21869fee8253b96645882db508997a1d9d925d9..fcf99dc5e65e6dac0da6eac1e2377f76f3ebdcda 100644 (file)
@@ -373,15 +373,25 @@ $(document).ready(function () {
                        $body.removeClass("aside-out");
                });
 
-       $(".offcanvas-right-toggle").on("click", function (event) {
+       // Right offcanvas elements
+       let $offcanvas_right_toggle = $(".offcanvas-right-toggle");
+       let $offcanvas_right_container = $("#offcanvasUsermenu"); // Use ID for faster lookup, class is .offcanvas-right
+
+       $offcanvas_right_toggle.on("click", function (event) {
                event.preventDefault();
-               // FIXME: Doesn't toggle, menu stays open even when pressing the button again
                $("body").toggleClass("offcanvas-right-active");
        });
 
+       // Close the right offcanvas menu when clicking somewhere
        $(document).on("mouseup touchend", function (event) {
-               var offCanvas = $(".offcanvas-right");
-               if (!offCanvas.is(event.target) && offCanvas.has(event.target).length === 0) {
+               if (
+                       // Clicked element is not inside the menu
+                       !$offcanvas_right_container.is(event.target) &&
+                       $offcanvas_right_container.has(event.target).length === 0 &&
+                       // Clicked element is not the toggle button (taken care by the toggleClass above)
+                       !$offcanvas_right_toggle.is(event.target) &&
+                       $offcanvas_right_toggle.has(event.target).length === 0
+               ) {
                        $("body").removeClass("offcanvas-right-active");
                }
        });