From: Extarys <hypewolf@protonmail.com>
Date: Thu, 21 Jan 2021 22:02:28 +0000 (-0500)
Subject: fix toggle button
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=61ef23dedc94a23b33b47884a66d24687dbeb377;p=friendica.git

fix toggle button
---

diff --git a/view/theme/frio/js/theme.js b/view/theme/frio/js/theme.js
index b21869fee8..fcf99dc5e6 100644
--- a/view/theme/frio/js/theme.js
+++ b/view/theme/frio/js/theme.js
@@ -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");
 		}
 	});