+
+
+
diff --git a/muk_web_theme/static/src/webclient/appsmenu/appsmenu.js b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.js
new file mode 100644
index 0000000..b7b6c09
--- /dev/null
+++ b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.js
@@ -0,0 +1,50 @@
+/** @odoo-module **/
+
+/**********************************************************************************
+*
+* Copyright (c) 2017-today MuK IT GmbH.
+*
+* This file is part of MuK Theme
+* (see https://mukit.at).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see .
+*
+**********************************************************************************/
+
+import { session } from "@web/session";
+import { url } from "@web/core/utils/urls";
+import { useService } from "@web/core/utils/hooks";
+import { Dropdown } from "@web/core/dropdown/dropdown";
+
+const { Component, hooks } = owl;
+
+export class AppsMenu extends Dropdown {
+ setup() {
+ super.setup();
+ if (session.theme_has_background_image) {
+ this.backgroundImageUrl = url('/web/image', {
+ model: 'res.company',
+ field: 'background_image',
+ id: this.env.services.company.currentCompany.id,
+ });
+ } else {
+ this.backgroundImageUrl = '/muk_web_theme/static/img/background.png';
+ }
+ this.env.bus.on("ACTION_MANAGER:UI-UPDATED", this, ev => this.close());
+ }
+}
+
+Object.assign(AppsMenu, {
+ template: 'muk_web_theme.AppsMenu',
+});
\ No newline at end of file
diff --git a/muk_web_theme/static/src/webclient/appsmenu/appsmenu.scss b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.scss
new file mode 100644
index 0000000..fab33d8
--- /dev/null
+++ b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.scss
@@ -0,0 +1,77 @@
+/**********************************************************************************
+*
+* Copyright (c) 2017-today MuK IT GmbH.
+*
+* This file is part of MuK Theme
+* (see https://mukit.at).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see .
+*
+**********************************************************************************/
+
+.o_navbar_apps_menu .dropdown-toggle {
+ padding: 0px 14px !important;
+}
+
+.o_navbar_apps_menu.show .dropdown-menu {
+ @include mk-full-screen-menu();
+ display: flex !important;
+ flex-direction: row !important;
+ flex-wrap: wrap !important;
+ justify-content: flex-start;
+ align-content: flex-start;
+ background-size: cover;
+ overflow: inital;
+ @include media-breakpoint-up(lg) {
+ padding: {
+ left: 20vw;
+ right: 20vw;
+ }
+ }
+ .o_app {
+ margin-top: 20px;
+ width: percentage(1/3);
+ @include media-breakpoint-up(sm) {
+ width: percentage(1/4);
+ }
+ @include media-breakpoint-up(md) {
+ width: percentage(1/6);
+ }
+ > a {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: flex-start;
+ .mk_app_icon {
+ height: auto;
+ max-width: 7rem;
+ width: 100%;
+ flex-basis: 0;
+ }
+ .mk_app_name {
+ color: $mk-apps-color;
+ }
+ }
+ &.focus, &.active, &:hover, &:focus, &:active {
+ background: none;
+ > a {
+ background: none;
+ }
+ .mk_app_icon {
+ box-shadow: 0 8px 15px -10px black;
+ transform: translateY(-1px);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/muk_web_theme/data/res_company.xml b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.xml
similarity index 64%
rename from muk_web_theme/data/res_company.xml
rename to muk_web_theme/static/src/webclient/appsmenu/appsmenu.xml
index 36d9f3c..44c7307 100644
--- a/muk_web_theme/data/res_company.xml
+++ b/muk_web_theme/static/src/webclient/appsmenu/appsmenu.xml
@@ -1,10 +1,10 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+ background-image: url("{{ backgroundImageUrl }}");
+
+
+
-
-
+
diff --git a/muk_web_theme/static/src/webclient/navbar/navbar.js b/muk_web_theme/static/src/webclient/navbar/navbar.js
new file mode 100644
index 0000000..50d4d44
--- /dev/null
+++ b/muk_web_theme/static/src/webclient/navbar/navbar.js
@@ -0,0 +1,69 @@
+/** @odoo-module */
+
+/**********************************************************************************
+*
+* Copyright (c) 2017-today MuK IT GmbH.
+*
+* This file is part of MuK Theme
+* (see https://mukit.at).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see .
+*
+**********************************************************************************/
+
+import { session } from "@web/session";
+import { url } from "@web/core/utils/urls";
+import { patch } from "@web/core/utils/patch";
+import { registry } from "@web/core/registry";
+
+import { NavBar } from "@web/webclient/navbar/navbar";
+import { AppsMenu } from "@muk_web_theme/webclient/appsmenu/appsmenu";
+import { AppsBar } from "@muk_web_theme/webclient/appsbar/appsbar";
+import { SwitchCompanyMenu } from "@web/webclient/switch_company_menu/switch_company_menu";
+import { UserMenu } from "@web/webclient/user_menu/user_menu";
+
+patch(NavBar.prototype, "muk_web_theme.NavBar", {
+ setup() {
+ this._super();
+ this.backgroundBlendMode = session.theme_background_blend_mode;
+ },
+});
+
+patch(NavBar, "muk_web_theme.NavBar", {
+ components: {
+ ...NavBar.components,
+ AppsMenu,
+ AppsBar,
+ },
+});
+
+const systrayItemUserMenu = {
+ Component: UserMenu,
+};
+
+const systrayItemSwitchCompanyMenu = {
+ Component: SwitchCompanyMenu,
+ isDisplayed(env) {
+ const { availableCompanies } = env.services.company;
+ return Object.keys(availableCompanies).length > 1;
+ },
+};
+
+registry.category("systray").add("web.user_menu", systrayItemUserMenu, {
+ force: true, sequence: 1
+});
+registry.category("systray").add("SwitchCompanyMenu", systrayItemSwitchCompanyMenu, {
+ force: true, sequence: 2
+});
+
\ No newline at end of file
diff --git a/muk_web_theme/static/src/webclient/navbar/navbar.scss b/muk_web_theme/static/src/webclient/navbar/navbar.scss
new file mode 100644
index 0000000..2f77d54
--- /dev/null
+++ b/muk_web_theme/static/src/webclient/navbar/navbar.scss
@@ -0,0 +1,66 @@
+/**********************************************************************************
+*
+* Copyright (c) 2017-today MuK IT GmbH.
+*
+* This file is part of MuK Theme
+* (see https://mukit.at).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not, see .
+*
+**********************************************************************************/
+
+@include media-breakpoint-down(sm) {
+ .o_main_navbar {
+ grid-template-areas: "apps brand systray sections";
+ grid-template-columns: minmax($o-navbar-height, max-content) max-content auto minmax($o-navbar-height, max-content);
+ .o_menu_brand {
+ display: none;
+ }
+ .o_menu_sections {
+ width: $o-navbar-height;
+ }
+ .o_menu_sections_more {
+ .dropdown-toggle {
+ font-size: $font-size-lg;
+ }
+ .fa-plus:before {
+ content: "\f0c9";
+ }
+ }
+ .o_debug_manager, .o_user_menu, .o_switch_company_menu {
+ > .dropdown-toggle {
+ padding: 0 12px !important;
+ }
+ }
+ .o_menu_systray {
+ margin-left: auto;
+ }
+ .o_user_menu {
+ margin: 0;
+ }
+ .o_user_menu > .dropdown-toggle {
+ white-space: nowrap;
+ &::before, &::after {
+ content: normal;
+ }
+ .oe_topbar_name {
+ display: none;
+ }
+ }
+ .show .dropdown-menu {
+ @include mk-full-screen-menu();
+ font-size: $font-size-lg;
+ }
+ }
+}
\ No newline at end of file
diff --git a/muk_web_theme/static/src/webclient/navbar/navbar.xml b/muk_web_theme/static/src/webclient/navbar/navbar.xml
new file mode 100644
index 0000000..0772800
--- /dev/null
+++ b/muk_web_theme/static/src/webclient/navbar/navbar.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muk_web_theme/static/src/xml/apps.xml b/muk_web_theme/static/src/xml/apps.xml
deleted file mode 100644
index 06f28a9..0000000
--- a/muk_web_theme/static/src/xml/apps.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
- #menu_id=#{app.menuID}&action_id=#{app.actionID}
-
-
- h
-
-
- fa fa-th
-
-
-
+
+
+
+
diff --git a/muk_web_theme/views/res_users.xml b/muk_web_theme/views/res_users.xml
index 65084e5..e7a814f 100644
--- a/muk_web_theme/views/res_users.xml
+++ b/muk_web_theme/views/res_users.xml
@@ -4,7 +4,7 @@
Copyright (c) 2017-today MuK IT GmbH.
- This file is part of MuK Grid Snippets
+ This file is part of MuK Theme
(see https://mukit.at).
This program is free software: you can redistribute it and/or modify
@@ -21,7 +21,7 @@
along with this program. If not, see .
-->
-
+