diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index 5008392d2a..690c3ed2e1 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -46,8 +46,14 @@
class="active">
-
+
+
+
+
+
diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php
index 264c10f5f1..a8c4bbb0d1 100644
--- a/lib/private/TemplateLayout.php
+++ b/lib/private/TemplateLayout.php
@@ -108,6 +108,15 @@ class TemplateLayout extends \OC_Template {
$this->assign('userAvatarVersion', $this->config->getUserValue(\OC_User::getUser(), 'avatar', 'version', 0));
}
+ // check if app menu icons should be inverted
+ try {
+ /** @var \OCA\Theming\Util $util */
+ $util = \OC::$server->query(\OCA\Theming\Util::class);
+ $this->assign('themingInvertMenu', $util->invertTextColor(\OC::$server->getThemingDefaults()->getColorPrimary()));
+ } catch (\OCP\AppFramework\QueryException $e) {
+ $this->assign('themingInvertMenu', false);
+ }
+
} else if ($renderAs == 'error') {
parent::__construct('core', 'layout.guest', '', false);
$this->assign('bodyid', 'body-login');
diff --git a/settings/js/apps.js b/settings/js/apps.js
index 0a6e86ed70..7ec7309db1 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -652,24 +652,29 @@ OC.Settings.Apps = OC.Settings.Apps || {
}
if ($('#appmenu').children('li[data-id="' + entry.id + '"]').length === 0) {
- var li = $('');
- li.attr('data-id', entry.id);
- var img = '';
- var a = $('').attr('href', entry.href);
- var filename = $('');
- var loading = $('').css('display', 'none');
- filename.text(entry.name);
- a.prepend(filename);
- a.prepend(loading);
- a.prepend(img);
- li.append(a);
- $('#appmenu li[data-id='+ previousEntry.id+']').after(li);
- if(addedApps[entry.id]) {
- li.animate({opacity: 0.5})
- .animate({opacity: 1})
- .animate({opacity: 0.5})
- .animate({opacity: 1});
- }
+ var li = $('');
+ li.attr('data-id', entry.id);
+ var img = '';
+ if (OCA.Theming && OCA.Theming.inverted) {
+ img = '';
+ }
+ var a = $('').attr('href', entry.href);
+ var filename = $('');
+ var loading = $('').css('display', 'none');
+ filename.text(entry.name);
+ a.prepend(filename);
+ a.prepend(loading);
+ a.prepend(img);
+ li.append(a);
+ $('#appmenu li[data-id='+ previousEntry.id+']').after(li);
+ if(addedApps[entry.id]) {
+ li.animate({opacity: 0.5})
+ .animate({opacity: 1})
+ .animate({opacity: 0.5})
+ .animate({opacity: 1});
+ }
}
previousEntry = entry;
}