diff --git a/css/sideMenu.css b/css/sideMenu.css
index d8678c7..dbd6eb9 100644
--- a/css/sideMenu.css
+++ b/css/sideMenu.css
@@ -15,10 +15,6 @@
* along with this program. If not, see .
*/
-#appmenu, #appmenu + nav {
- display: none;
-}
-
#side-menu {
position: fixed;
top: 0;
diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php
index 4f360a1..91ec475 100644
--- a/lib/Controller/CssController.php
+++ b/lib/Controller/CssController.php
@@ -64,6 +64,7 @@ class CssController extends Controller
],
'display-logo' => (bool) $this->config->getAppValue('side_menu', 'display-logo', 1),
'opener-only' => (bool) $this->config->getAppValue('side_menu', 'opener-only', 0),
+ 'external-sites-in-top-menu' => (bool) $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', 0),
'size-icon' => $this->config->getAppValue('side_menu', 'size-icon', 'normal'),
'size-text' => $this->config->getAppValue('side_menu', 'size-text', 'normal'),
];
diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php
index 0f3dc92..9114522 100644
--- a/lib/Controller/JsController.php
+++ b/lib/Controller/JsController.php
@@ -54,6 +54,7 @@ class JsController extends Controller
$parameters = [
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
'opener-hover' => (bool) $this->config->getAppValue('side_menu', 'opener-hover', '0'),
+ 'external-sites-in-top-menu' => (bool) $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', 0),
'force-light-icon' => (bool) $this->config->getAppValue('side_menu', 'force-light-icon', '0'),
'hide-when-no-apps' => (bool) $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'),
];
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 79222b5..3c3f59e 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -65,6 +65,7 @@ class Admin implements ISettings
'hide-when-no-apps' => $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'),
'size-icon' => $this->config->getAppValue('side_menu', 'size-icon', 'normal'),
'size-text' => $this->config->getAppValue('side_menu', 'size-text', 'normal'),
+ 'external-sites-in-top-menu' => $this->config->getAppValue('side_menu', 'external-sites-in-top-menu', '0'),
];
return new TemplateResponse('side_menu', 'settings/admin-form', $parameters, '');
diff --git a/src/SideMenu.vue b/src/SideMenu.vue
index 7c43443..2d7bcad 100644
--- a/src/SideMenu.vue
+++ b/src/SideMenu.vue
@@ -53,6 +53,10 @@ export default {
for (let element of links) {
let href = element.getAttribute('href')
+ if (this.ignoreExternalSites && element.parentNode.getAttribute('data-id').indexOf('external_index') !== -1) {
+ continue;
+ }
+
if (href !== '#') {
let svg = element.querySelector('svg').outerHTML
@@ -99,6 +103,7 @@ export default {
this.retrieveApps()
this.retrieveLogo()
this.forceLightIcon = document.querySelector('#side-menu-container').getAttribute('data-forcelighticon') == 1;
+ this.ignoreExternalSites = document.querySelector('#side-menu-container').getAttribute('data-externalsitesintopmenu') == 1;
const menu = document.querySelector('#appmenu')
diff --git a/src/admin.js b/src/admin.js
index 8cb9315..c0da4e8 100644
--- a/src/admin.js
+++ b/src/admin.js
@@ -30,6 +30,7 @@ const elements = [
'side-menu-size-icon',
'side-menu-size-text',
'side-menu-cache',
+ 'side-menu-external-sites-in-top-menu',
];
const selector = '#side-menu-message';
diff --git a/templates/css/stylesheet.php b/templates/css/stylesheet.php
index 35405c6..da86494 100644
--- a/templates/css/stylesheet.php
+++ b/templates/css/stylesheet.php
@@ -8,6 +8,16 @@
}
+
+ #appmenu {
+ display: none;
+ }
+
+
+#appmenu + nav {
+ display: none;
+}
+
#nextcloud {
display: none;
diff --git a/templates/js/script.php b/templates/js/script.php
index b902e92..284c1da 100644
--- a/templates/js/script.php
+++ b/templates/js/script.php
@@ -9,6 +9,30 @@
sideMenuContainer.attr('data-forcelighticon', '1')
+
+ sideMenuContainer.attr('data-externalsitesintopmenu', '1')
+
+ var externalSitesInTopMenu = function() {
+ var items = $('#appmenu').find('li')
+
+ items.each(function(i, item) {
+ var dataId = item.getAttribute('data-id')
+
+ if (dataId === null || dataId.indexOf('external_index') === -1) {
+ item.style.display = 'none'
+ item.classList.remove('hidden')
+ } else {
+ item.style.display = 'flex'
+ item.classList.add('hidden')
+ }
+ })
+ }
+
+ $(window).resize(externalSitesInTopMenu);
+
+ setInterval(externalSitesInTopMenu, 500);
+
+
body.on('side-menu.apps', function(e, apps) {
sideMenu = $('#side-menu')
diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php
index 1867d5f..c2e51bd 100644
--- a/templates/settings/admin-form.php
+++ b/templates/settings/admin-form.php
@@ -248,6 +248,23 @@ $choicesSizes = [
+
+
+
+
+
+
+
+