From 0871b9acfffc3b039131cac9b2168a6558982377 Mon Sep 17 00:00:00 2001
From: Christoph Wurst <christoph@winzerhof-wurst.at>
Date: Fri, 5 Apr 2019 15:41:12 +0200
Subject: [PATCH] Do not inject a #app-navigation-toggle if there is already
 one

This allows apps to ship their own, as in some cases the #app-content
element does not exist on page load and therefore the injection fails
and the icon is missing afterwards.

Fixes https://github.com/nextcloud/server/issues/14956

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
---
 core/js/js.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/core/js/js.js b/core/js/js.js
index e03e2334c09..5e8532883b4 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1192,7 +1192,9 @@ function initCore() {
 	setTimeout(resizeMenu, 0);
 
 	// just add snapper for logged in users
-	if($('#app-navigation').length && !$('html').hasClass('lte9')) {
+	// and if the app doesn't handle the nav slider itself
+	if($('#app-navigation').length && !$('html').hasClass('lte9')
+	    && !$('#app-content').hasClass('no-snapper')) {
 
 		// App sidebar on mobile
 		var snapper = new Snap({
-- 
GitLab