| @ -0,0 +1,40 @@ | |||||
|  | Irie Backend Theme | ||||
|  | ================== | ||||
|  | * Irie Backend Theme module for Odoo 15 community editions | ||||
|  | 
 | ||||
|  | Installation | ||||
|  | ============ | ||||
|  | 	- www.odoo.com/documentation/15.0/setup/install.html | ||||
|  | 	- Install our custom addon | ||||
|  | 
 | ||||
|  | License | ||||
|  | ------- | ||||
|  | General Public License, Version 3 (LGPL v3). | ||||
|  | (https://www.odoo.com/documentation/user/14.0/legal/licenses/licenses.html) | ||||
|  | 
 | ||||
|  | Company | ||||
|  | ------- | ||||
|  | * 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ | ||||
|  | 
 | ||||
|  | Credits | ||||
|  | ------- | ||||
|  | * 'Cybrosys Techno Solutions <https://cybrosys.com/>'__ | ||||
|  | 
 | ||||
|  | Contacts | ||||
|  | -------- | ||||
|  | * Mail Contact : odoo@cybrosys.com | ||||
|  | 
 | ||||
|  | Bug Tracker | ||||
|  | ----------- | ||||
|  | Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. | ||||
|  | 
 | ||||
|  | Maintainer | ||||
|  | ========== | ||||
|  | This module is maintained by Cybrosys Technologies. | ||||
|  | 
 | ||||
|  | For support and more information, please visit https://www.cybrosys.com | ||||
|  | 
 | ||||
|  | Further information | ||||
|  | =================== | ||||
|  | HTML Description: `<static/description/index.html>`__ | ||||
|  | 
 | ||||
| @ -0,0 +1 @@ | |||||
|  | from . import models | ||||
| @ -0,0 +1,67 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    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 (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | 
 | ||||
|  | { | ||||
|  |     "name": "Irie Backend Theme v15", | ||||
|  |     "description": """Minimalist and elegant backend theme for Odoo 14, Backend Theme, Theme""", | ||||
|  |     "summary": "irie backed Theme V15 is an attractive theme for backend", | ||||
|  |     "category": "Theme/Backend", | ||||
|  |     "version": "15.0.1.0.0", | ||||
|  |     'author': 'Cybrosys Techno Solutions', | ||||
|  |     'company': 'Cybrosys Techno Solutions', | ||||
|  |     'maintainer': 'Cybrosys Techno Solutions', | ||||
|  |     'website': "https://www.cybrosys.com", | ||||
|  |     "depends": ['base', 'web', 'mail'], | ||||
|  |     "data": [ | ||||
|  |         'views/style.xml', | ||||
|  |         'views/res_config_settings.xml', | ||||
|  |     ], | ||||
|  |     'assets': { | ||||
|  |         'web.assets_backend': [ | ||||
|  |             'irie_backend_theme/static/src/layout/style/login.scss', | ||||
|  |             'irie_backend_theme/static/src/layout/style/layout_colors.scss', | ||||
|  |             'irie_backend_theme/static/src/components/app_menu/menu_order.css', | ||||
|  |             'irie_backend_theme/static/src/layout/style/layout_style.scss', | ||||
|  |             'irie_backend_theme/static/src/components/app_side_bar/app_bar.scss', | ||||
|  |             'irie_backend_theme/static/src/components/app_side_bar/app_bar_item.js', | ||||
|  |             'irie_backend_theme/static/src/components/app_side_bar/app_bar.js', | ||||
|  |             'irie_backend_theme/static/src/components/app_menu/search_apps.js', | ||||
|  |             'irie_backend_theme/static/src/webclient/webclient.js', | ||||
|  |         ], | ||||
|  |         'web.assets_qweb': [ | ||||
|  |             'irie_backend_theme/static/src/components/app_menu/side_menu.xml', | ||||
|  |             'irie_backend_theme/static/src/components/app_side_bar/app_bar.xml', | ||||
|  |             'irie_backend_theme/static/src/components/app_side_bar/app_bar_item.xml', | ||||
|  |             'irie_backend_theme/static/src/components/home_menu/home_menu.xml', | ||||
|  |             'irie_backend_theme/static/src/webclient/webclient.xml', | ||||
|  | 
 | ||||
|  |         ], | ||||
|  |     }, | ||||
|  |     'images': [ | ||||
|  |         'static/description/banner.png', | ||||
|  |         'static/description/theme_screenshot.png', | ||||
|  |     ], | ||||
|  |     'license': 'LGPL-3', | ||||
|  |     'installable': True, | ||||
|  |     'application': False, | ||||
|  |     'auto_install': False, | ||||
|  | } | ||||
| @ -0,0 +1 @@ | |||||
|  | from . import res_config_settings | ||||
| @ -0,0 +1,73 @@ | |||||
|  | from odoo import models, fields | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class ResCompany(models.Model): | ||||
|  |     _inherit = 'res.company' | ||||
|  | 
 | ||||
|  |     background_image = fields.Binary(string="Background Image", attachment=True) | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class ResConfigSettings(models.TransientModel): | ||||
|  |     _inherit = 'res.config.settings' | ||||
|  | 
 | ||||
|  |     theme_background = fields.Binary(string="App menu Background", | ||||
|  |                                      related='company_id.background_image', | ||||
|  |                                      readonly=False) | ||||
|  | 
 | ||||
|  |     app_bar_color = fields.Char(string='Appbar color', | ||||
|  |                                 config_parameter='irie_backend_theme.appbar_color', | ||||
|  |                                 default='#FFFFFF') | ||||
|  |     primary_accent = fields.Char(string="Navbar color", | ||||
|  |                                  config_parameter='irie_backend_theme.primary_accent_color', | ||||
|  |                                  default='#004589') | ||||
|  |     secondary_accent = fields.Char(string="Navbar color", | ||||
|  |                                    config_parameter='irie_backend_theme.secondary_color', | ||||
|  |                                    default='#0C4D9D') | ||||
|  | 
 | ||||
|  |     kanban_bg_color = fields.Char(string="Kanban Bg Color", | ||||
|  |                                   config_parameter='irie_backend_theme.kanban_bg_color', | ||||
|  |                                   default='#F7F7F7') | ||||
|  | 
 | ||||
|  |     primary_hover = fields.Char(string="Hover Primary Color", | ||||
|  |                                 config_parameter='irie_backend_theme.primary_hover', | ||||
|  |                                 default='#00376E') | ||||
|  |     light_hover = fields.Char(string="Light Hover", | ||||
|  |                               config_parameter='irie_backend_theme.light_hover', | ||||
|  |                               default='#ffffff') | ||||
|  |     appbar_text = fields.Char(string="Home Menu Text Color", | ||||
|  |                               config_parameter='irie_backend_theme.appbar_text', | ||||
|  |                               default='#F7F8F7') | ||||
|  |     secoundary_hover = fields.Char(string="AppBar Hover", | ||||
|  |                                    config_parameter='irie_backend_theme.secoundary_hover', | ||||
|  |                                    default='#F2F2F3') | ||||
|  | 
 | ||||
|  |     def config_color_settings(self): | ||||
|  |         colors = {} | ||||
|  |         print("ppp", self.env.user.company_id.background_image) | ||||
|  |         colors['full_bg_img'] = self.env.user.company_id.background_image | ||||
|  |         colors['appbar_color'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.appbar_color'); | ||||
|  |         colors['primary_accent'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.primary_accent_color'); | ||||
|  |         colors['secondary_color'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.secondary_color'); | ||||
|  |         colors['kanban_bg_color'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.kanban_bg_color'); | ||||
|  |         colors['primary_hover'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.primary_hover'); | ||||
|  |         colors['light_hover'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.light_hover'); | ||||
|  |         colors['appbar_text'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.appbar_text'); | ||||
|  |         colors['secoundary_hover'] = self.env[ | ||||
|  |             'ir.config_parameter'].sudo().get_param( | ||||
|  |             'irie_backend_theme.secoundary_hover'); | ||||
|  | 
 | ||||
|  |         return colors | ||||
| After Width: | Height: | Size: 124 KiB | 
| After Width: | Height: | Size: 61 KiB | 
| After Width: | Height: | Size: 118 KiB | 
| After Width: | Height: | Size: 538 KiB | 
| After Width: | Height: | Size: 310 B | 
| After Width: | Height: | Size: 1.3 KiB | 
| After Width: | Height: | Size: 1.4 KiB | 
| After Width: | Height: | Size: 576 B | 
| After Width: | Height: | Size: 733 B | 
| After Width: | Height: | Size: 911 B | 
| After Width: | Height: | Size: 1.1 KiB | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 673 B | 
| After Width: | Height: | Size: 878 B | 
| After Width: | Height: | Size: 653 B | 
| After Width: | Height: | Size: 905 B | 
| After Width: | Height: | Size: 839 B | 
| After Width: | Height: | Size: 427 B | 
| After Width: | Height: | Size: 627 B | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 988 B | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 142 KiB | 
| After Width: | Height: | Size: 149 KiB | 
| After Width: | Height: | Size: 1.8 MiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 72 KiB | 
| After Width: | Height: | Size: 590 KiB | 
| After Width: | Height: | Size: 170 KiB | 
| After Width: | Height: | Size: 127 KiB | 
| After Width: | Height: | Size: 227 KiB | 
| After Width: | Height: | Size: 2.9 KiB | 
| After Width: | Height: | Size: 4.3 KiB | 
| After Width: | Height: | Size: 2.0 KiB | 
| After Width: | Height: | Size: 569 KiB | 
| After Width: | Height: | Size: 134 KiB | 
| After Width: | Height: | Size: 152 KiB | 
| After Width: | Height: | Size: 150 KiB | 
| After Width: | Height: | Size: 164 KiB | 
| After Width: | Height: | Size: 230 KiB | 
| After Width: | Height: | Size: 143 KiB | 
| After Width: | Height: | Size: 134 KiB | 
| After Width: | Height: | Size: 179 KiB | 
| After Width: | Height: | Size: 88 KiB | 
| After Width: | Height: | Size: 139 KiB | 
| After Width: | Height: | Size: 478 KiB | 
| @ -0,0 +1,513 @@ | |||||
|  | <!-- HERO SECTION --> | ||||
|  | <div class="contianer"> | ||||
|  |   <div class="row position-relative" | ||||
|  |     style="background-color: #191826 !important; height: 400px; margin-bottom: 6rem; border-radius: 1.5rem;"> | ||||
|  |     <div class="col-lg-12 d-flex flex-column justify-content-start align-items-center"> | ||||
|  |       <h1 class="display-1 text-white" style="padding-top: 5rem;">Irie Backend Theme</h1> | ||||
|  |       <p class="text-light small font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase;">Clean | ||||
|  |         &Minimal Backend Theme for Odoo 15</p> | ||||
|  |     </div> | ||||
|  |     <img src="./images/hero.png" class="img img-fluid" | ||||
|  |       style="height: auto; width: 525px; top: 45%; left: 0; right: 0; margin-left: auto; margin-right: auto;" | ||||
|  |       height="auto" width="525px"> | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- END OF HERO SECTION --> | ||||
|  | <!-- SHORT DESCRIPTION --> | ||||
|  | <div class="container"> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-12 d-flex justify-content-center align-items-center"> | ||||
|  |       <h6 class="text-muted text-center w-50" style="line-height: 22px;">The app provides a user friendly backend | ||||
|  |         theme for Odoo 15.0 community edition.</h6> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- END OF SHORT DESCRIPTION --> | ||||
|  | <!-- FEATURE ICONS --> | ||||
|  | <div class="container w-50" style="margin: 3rem auto;"> | ||||
|  |   <div class="row"> | ||||
|  |     <div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <div | ||||
|  |         style="height: 100px; width: 100px; border: 8px solid #dedee5 ; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;" | ||||
|  |         class="d-flex justify-content-center align-items-center"> | ||||
|  |         <img height="60px" src="./images/icons/design.png"> | ||||
|  |       </div> | ||||
|  |       <h6 class="my-4 text-center">Well-Crafted</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <div | ||||
|  |         style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;" | ||||
|  |         class="d-flex justify-content-center align-items-center"> | ||||
|  |         <img height="60px" src="./images/icons/responsive.png"> | ||||
|  |       </div> | ||||
|  |       <h6 class="my-4 text-center">Efficent Design</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <div | ||||
|  |         style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;" | ||||
|  |         class="d-flex justify-content-center align-items-center"> | ||||
|  |         <img height="60px" src="./images/icons/quality.png"> | ||||
|  |       </div> | ||||
|  |       <h6 class="my-4 text-center">Clearer insight</h6> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- END OF FEATURE ICONS --> | ||||
|  | 
 | ||||
|  | <!-- ONE COLUMN SECTION--> | ||||
|  | <div class="container" style="margin: 3rem auto;"> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <h2 class="text-center mt-3 display-4 text-weight-bold">App Menu</h2> | ||||
|  |       <p class="text-center lead text-muted mb-4">The App Menu is the main attraction of the Irie backend theme. It has a fully responsive layout with a new highlighted color combination and a more modern interface for all applications. Moreover, the Irie backend theme improves your experience with Odoo, providing you with a fully customizable background image, Navbar color, and many more.</p> | ||||
|  |       <div class="row"> | ||||
|  |         <div class="col-lg-8"> | ||||
|  |           <img height="600px" width="auto" src="./images/desktop.gif" class="img img-fluid deep-4 rounded"> | ||||
|  |         </div> | ||||
|  |         <div class="col-lg-4"> | ||||
|  |           <img src="./images/mobile_view.gif" class="img img-fluid deep-4 rounded"> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- END OF ONE COLUMN SECTION--> | ||||
|  | 
 | ||||
|  | <!-- TWO COLUMN SECTION--> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e ">Theme | ||||
|  |         Settings</span> | ||||
|  |       <h2 class="mt-3">Irie Backend Theme Settings</h2> | ||||
|  |       <p class="lead text-muted mb-4">To improve your experience with Odoo the Irie backend theme provides a fully | ||||
|  |         configurable theme settings menu.</p> | ||||
|  |       <img src="./assets/settings_customisation.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Custom | ||||
|  |         AppBar</span> | ||||
|  |       <h2 class="mt-3">AppBar</h2> | ||||
|  |       <p class="lead text-muted mb-4">Easly accessible side bar where it reveals the side bar menu on just a click. Moreover, its also | ||||
|  |         fully customisable with Irie backend theme.</p> | ||||
|  |       <img src="./images/app_bar.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- END OF TWO COLUMN SECTION--> | ||||
|  | 
 | ||||
|  | <!-- RESPONSIVE SECTION--> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-5 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <img src="./images/responsive.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  |     <div class="col-lg-7 d-flex flex-column justify-content-center"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Responsive | ||||
|  |         Layout</span> | ||||
|  |       <h2 class="mt-3">Truly Responsive</h2> | ||||
|  |       <p class="lead text-muted mb-4">One of the critical highlights of the Irie backend theme is that it was genuinely responsive; moreover, it provides an efficient interface to manage a mobile device.</p> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | 
 | ||||
|  | </div> | ||||
|  | <!-- END OF RESPONSIVE SECTION--> | ||||
|  | 
 | ||||
|  | <!-- TWO COLUMN SECTION--> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Custom | ||||
|  |         Kanban View</span> | ||||
|  |       <h2 class="mt-3">Kanban view</h2> | ||||
|  |       <p class="lead text-muted mb-4">Irie Backend Theme gives a colorful & elegant kanban view, and it's fully customizable with this theme.</p> | ||||
|  |       <img src="./images/kanban.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Search | ||||
|  |         Option</span> | ||||
|  |       <h2 class="mt-3">Advanced Searching for App Menus</h2> | ||||
|  |       <p class="lead text-muted mb-4">Irie Backend Theme gives a more complex and powerful search than standard search, providing search options like enterprise edition.</p> | ||||
|  |       <img src="./images/search.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | 
 | ||||
|  | <!-- TWO COLUMN SECTION--> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <span> | ||||
|  |   </span> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e"> | ||||
|  |         Form View</span> | ||||
|  |       <h2 class="mt-3">Custom Form view</h2> | ||||
|  |       <p class="lead text-muted mb-4">Irie Backend theme provides a fully modified and colorful form view with the full view | ||||
|  |         experience.</p> | ||||
|  |       <img src="./images/sale_kanban.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Vibrent | ||||
|  |         ui</span> | ||||
|  |       <h2 class="mt-3">Attractive Customizable User Interface</h2> | ||||
|  |       <p class="lead text-muted mb-4">It provides fully attractive, and a elgant User Interface with completely customizability.</p> | ||||
|  |       <img src="./images/event.png" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <!-- MOBILE --> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <span> | ||||
|  |     <strong> | ||||
|  |       Mobile | ||||
|  |     </strong> | ||||
|  |   </span> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e"> | ||||
|  |         Kanban View</span> | ||||
|  |       <h2 class="mt-3">Responsive kanban view</h2> | ||||
|  |       <p class="lead text-muted mb-4">It gives a fully responsive kanban view in Mobile view, which is also fully customizable in the Irie Backend theme.</p> | ||||
|  |       <img src="./images/mobile_kanban.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Form | ||||
|  |         View</span> | ||||
|  |       <h2 class="mt-3">Visualized form view</h2> | ||||
|  |       <p class="lead text-muted mb-4">It puts forward a fully visualized form view with colorful and attractive aspects which the user can customize. </p> | ||||
|  |       <img src="./images/mobile_form.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <span> | ||||
|  |   </span> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e"> | ||||
|  |         List view</span> | ||||
|  |       <h2 class="mt-3">Modified Tree view</h2> | ||||
|  |       <p class="lead text-muted mb-4">Irie Backend Theme provides fully modified list view and amazing table designs | ||||
|  |         with stunning look outputs.</p> | ||||
|  |       <img src="./images/mobile_lost.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" | ||||
|  |         style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">settings</span> | ||||
|  |       <h2 class="mt-3">Fully Redesigned Settings</h2> | ||||
|  |       <p class="lead text-muted mb-4">Mobile friendly and Redesigned settings with stylish view.</p> | ||||
|  |       <img src="./images/mobile_settings.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | <div class="container" style="margin: 6rem auto;"> | ||||
|  |   <span> | ||||
|  |   </span> | ||||
|  |   <div class="row my-4"> | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e"> | ||||
|  |         Employe module</span> | ||||
|  |       <h2 class="mt-3">Modified Form view for employees</h2> | ||||
|  |       <p class="lead text-muted mb-4">It provides the Employees with a form view with redesigned and various modified features. | ||||
|  |       </p> | ||||
|  |       <img src="./images/employe.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-6 d-flex flex-column justify-content-center align-items-start"> | ||||
|  |       <span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Search | ||||
|  |         View</span> | ||||
|  |       <h2 class="mt-3">Ultra Modern Search view</h2> | ||||
|  |       <p class="lead text-muted mb-4">It has an advanced search view with a highly modified search option for easy usage and an improved experience with Odoo.</p> | ||||
|  |       <img src="./images/mobile_search.jpg" class="img img-fluid deep-2 rounded"> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </div> | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | <!-- END OF TWO COLUMN SECTION--> | ||||
|  | 
 | ||||
|  | <!-- OUR SERVICES --> | ||||
|  | <section class="container" style="margin-top: 6rem !important;"> | ||||
|  |   <div class="row"> | ||||
|  |     <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <h2 class="text-center" | ||||
|  |         style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> | ||||
|  |         Our Services</h2> | ||||
|  |       <p class="text-center" | ||||
|  |         style="font-family: Montserrat, 'sans-serif'; color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> | ||||
|  |         We provide following services</p> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Customization</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Implementation</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Support</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Hire | ||||
|  |         Odoo | ||||
|  |         Developer</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #54a0ff  !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Integration</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Migration</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Consultancy</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Implementation</h6> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | ||||
|  |       <div class="d-flex justify-content-center align-items-center mx-3 my-3" | ||||
|  |         style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | ||||
|  |         <img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px"> | ||||
|  |       </div> | ||||
|  |       <h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo | ||||
|  |         Licensing Consultancy</h6> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </section> | ||||
|  | <!-- END OF END OF OUR SERVICES --> | ||||
|  | 
 | ||||
|  | <!-- OUR INDUSTRIES --> | ||||
|  | <section class="container" style="margin-top: 6rem !important;"> | ||||
|  |   <div class="row"> | ||||
|  |     <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <h2 class="text-center" | ||||
|  |         style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> | ||||
|  |         Our Industries</h2> | ||||
|  |       <p class="text-center" | ||||
|  |         style="font-family: Montserrat, 'sans-serif'; color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> | ||||
|  |         Our industry specifics and process segments to solve your complex business barriers.</p> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Trading | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Easily procure | ||||
|  |           and | ||||
|  |           sell your products</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           POS | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Easy | ||||
|  |           configuration | ||||
|  |           and convivial experience</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Education | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">A platform for | ||||
|  |           educational management</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Manufacturing | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Plan, track and | ||||
|  |           schedule your operations</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           E-commerce & Website | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Mobile | ||||
|  |           friendly, | ||||
|  |           awe-inspiring product pages</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Service Management | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Keep track of | ||||
|  |           services and invoice</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Restaurant | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">Run your bar or | ||||
|  |           restaurant methodically</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-3"> | ||||
|  |       <div class="my-4 d-flex flex-column justify-content-center" | ||||
|  |         style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;"> | ||||
|  |         <img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px"> | ||||
|  |         <h5 style="color: #000 !important; font-weight: bold;"> | ||||
|  |           Hotel Management | ||||
|  |         </h5> | ||||
|  |         <p style="font-size: 0.9rem !important;">An | ||||
|  |           all-inclusive | ||||
|  |           hotel management application</p> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  | </section> | ||||
|  | 
 | ||||
|  | <!-- END OF END OF OUR INDUSTRIES --> | ||||
|  | 
 | ||||
|  | <!-- FOOTER --> | ||||
|  | <!-- Footer Section --> | ||||
|  | <section class="container" style="margin: 5rem auto 2rem;"> | ||||
|  |   <div class="row" style="max-width:1540px;"> | ||||
|  |     <div class="col-lg-12 d-flex flex-column justify-content-center align-items-center"> | ||||
|  |       <h2 class="text-center" | ||||
|  |         style="color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;"> | ||||
|  |         Need Help?</h2> | ||||
|  |       <p class="text-center" | ||||
|  |         style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;"> | ||||
|  |         Do you have any queries regarding our products & services? Let us know.</p> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | 
 | ||||
|  |   <!-- Contact Cards --> | ||||
|  |   <div class="row d-flex justify-content-center align-items-center" style="max-width:1540px; margin: 0 auto 2rem auto;"> | ||||
|  | 
 | ||||
|  |     <div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; "> | ||||
|  | 
 | ||||
|  |       <div class="row mt-4"> | ||||
|  |         <div class="col-lg-6"> | ||||
|  |           <a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover" | ||||
|  |             style="text-decoration: none;  background-color: #4d4d4d; color: #FFF;  border-radius: 4px;"><i | ||||
|  |               class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a> | ||||
|  |         </div> | ||||
|  |         <div class="col-lg-6"> | ||||
|  |           <a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank" | ||||
|  |             class="btn btn-block mb-2 deep_hover" | ||||
|  |             style="text-decoration: none;  background-color: #25D366; color: #FFF;  border-radius: 4px;"><i | ||||
|  |               class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a> | ||||
|  |         </div> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |   </div> | ||||
|  |   <!-- End of Contact Cards --> | ||||
|  | </section> | ||||
|  | <!-- Footer --> | ||||
|  | <section class="oe_container" style="padding: 2rem 3rem 1rem;"> | ||||
|  |   <div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; "> | ||||
|  |     <!-- Logo --> | ||||
|  |     <div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;"> | ||||
|  |       <img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" /> | ||||
|  |     </div> | ||||
|  |     <!-- End of Logo --> | ||||
|  |     <div class="col-lg-12"> | ||||
|  |       <hr | ||||
|  |         style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;"> | ||||
|  |       <!-- End of Footer Section --> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | 
 | ||||
|  |   <!-- END OF FOOTER --> | ||||
| After Width: | Height: | Size: 661 KiB | 
| @ -0,0 +1,113 @@ | |||||
|  | .nav-container { | ||||
|  | 
 | ||||
|  |     float: left; | ||||
|  |     position: relative; | ||||
|  |     width: 99vw; | ||||
|  |     height: 100%; | ||||
|  |     background: #fff; | ||||
|  |     display: flex; | ||||
|  |     justify-content: start; | ||||
|  |     align-items: start; | ||||
|  |     padding: 0px 20rem; | ||||
|  |     margin-top: 2rem; | ||||
|  | 
 | ||||
|  | } | ||||
|  | /*.search-results { | ||||
|  |     float: left; | ||||
|  |     position: relative; | ||||
|  |     width: 100vw; | ||||
|  |     height: 100vh; | ||||
|  |     background: #fff; | ||||
|  |     display: flex; | ||||
|  |     justify-content: center; | ||||
|  |     align-items: center; | ||||
|  |     padding: 0 20rem; | ||||
|  | }*/ | ||||
|  | .o_main_navbar .dropdown-menu .show { | ||||
|  |     max-height: auto !important; | ||||
|  |     min-width: 100%; | ||||
|  |     overflow: auto; | ||||
|  |     margin-top: 0; | ||||
|  |     position: static; | ||||
|  |     top: 0; | ||||
|  |     display: flex; | ||||
|  |     box-shadow: none; | ||||
|  |     border: none; | ||||
|  |     flex-wrap: wrap; | ||||
|  |     flex-direction: row; | ||||
|  |     overflow: unset; | ||||
|  | } | ||||
|  | .dropdown-item.o_app.mt0 { | ||||
|  |     flex-basis: 20%; | ||||
|  |     display: flex; | ||||
|  |     justify-content: center; | ||||
|  |     align-items: center; | ||||
|  |     flex-direction: column; | ||||
|  |     margin-bottom: 23px; | ||||
|  | } | ||||
|  | .o_setting_search { | ||||
|  |                 position: relative; | ||||
|  | 
 | ||||
|  |                 .searchInput { | ||||
|  |                     height: 28px; | ||||
|  |                     padding: 0px; | ||||
|  |                     border: 0px; | ||||
|  |                     border-dropdown-item bottom: 1px solid gray('400'); | ||||
|  |                     border-color: gray('700'); | ||||
|  |                     box-shadow: none; | ||||
|  |                     font-weight: 500; | ||||
|  |                 } | ||||
|  | 
 | ||||
|  |                 .searchIcon { | ||||
|  |                     @include o-position-absolute(4px, 0); | ||||
|  |                     color: gray('700'); | ||||
|  |                 } | ||||
|  |             } | ||||
|  |             .search-container.has-results { | ||||
|  |                 height: 100%; | ||||
|  | 
 | ||||
|  |                 .search-input { | ||||
|  |                     height: 3em; | ||||
|  |                 } | ||||
|  | 
 | ||||
|  |                 .search-results { | ||||
|  |                     height: calc(100% - 3em); | ||||
|  |                     overflow: auto; | ||||
|  |                 } | ||||
|  |             } | ||||
|  | 
 | ||||
|  | .app-menu { | ||||
|  | 
 | ||||
|  |     width: 100%; | ||||
|  |     display: flex; | ||||
|  |     flex-wrap: wrap; | ||||
|  | 
 | ||||
|  | } | ||||
|  | .o_main_navbar .dropdown-menu.show { | ||||
|  |     max-height: none !important; | ||||
|  |     min-width: 100%; | ||||
|  |     overflow: auto; | ||||
|  |     margin-top: 0; | ||||
|  | } | ||||
|  | .o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { | ||||
|  | 
 | ||||
|  |     background-repeat: no-repeat; | ||||
|  |     background-size: 100%; | ||||
|  |     padding-left: 30%; | ||||
|  |     margin-bottom: 5%; | ||||
|  | 
 | ||||
|  | } | ||||
|  | @media (max-width: 1371px){ | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | @media (max-width:992px) { | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | @media (max-width:400px) { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,120 @@ | |||||
|  | /** @odoo-module */ | ||||
|  | 
 | ||||
|  | import { NavBar } from "@web/webclient/navbar/navbar"; | ||||
|  | import { registry } from "@web/core/registry"; | ||||
|  | const { fuzzyLookup } = require('@web/core/utils/search'); | ||||
|  | import { computeAppsAndMenuItems } from "@web/webclient/menus/menu_helpers"; | ||||
|  | import core from 'web.core'; | ||||
|  | 
 | ||||
|  | const commandProviderRegistry = registry.category("command_provider"); | ||||
|  | 
 | ||||
|  | import { patch } from 'web.utils'; | ||||
|  | var rpc = require('web.rpc'); | ||||
|  | patch(NavBar.prototype, 'irie_backend_theme/static/src/js/appMenu.js', { | ||||
|  | 
 | ||||
|  |     //--------------------------------------------------------------------------
 | ||||
|  |     // Public
 | ||||
|  |     //--------------------------------------------------------------------------
 | ||||
|  | 
 | ||||
|  |     /** | ||||
|  |      * @override | ||||
|  |      */ | ||||
|  |      setup() { | ||||
|  |         this._super(); | ||||
|  |         this._search_def = $.Deferred(); | ||||
|  |         let { apps, menuItems } = computeAppsAndMenuItems(this.menuService.getMenuAsTree("root")); | ||||
|  |         this._apps = apps; | ||||
|  |         this._searchableMenus = menuItems; | ||||
|  |         this.colors = this.fetch_data(); | ||||
|  |     }, | ||||
|  |     fetch_data: function() { | ||||
|  |         var self = this; | ||||
|  |         rpc.query({model: 'res.config.settings',method: 'config_color_settings',args: [0],}).then(function(result){ | ||||
|  |             self.colors = result; | ||||
|  |             if (result.primary_accent !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--primary-accent",result.primary_accent); | ||||
|  |             } | ||||
|  |             if (result.appbar_color !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--app-bar-accent",result.appbar_color);} | ||||
|  |             if (result.primary_hover !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--primary-hover",result.primary_hover);} | ||||
|  |             if (result.secondary_color !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--primary-accent-border",result.secondary_color);} | ||||
|  |             if (result.full_bg_img !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--full-screen-bg",'url(data:image/png;base64,'+result.full_bg_img+')'); | ||||
|  |             } | ||||
|  |             if (result.appbar_text !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--app-menu-font-color",result.appbar_text);} | ||||
|  |             if (result.secoundary_hover !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--secoundary-hover",result.secoundary_hover);} | ||||
|  |             if (result.kanban_bg_color !== false){ | ||||
|  |                 document.documentElement.style.setProperty("--kanban-bg-color",result.kanban_bg_color);} | ||||
|  |         }); | ||||
|  |     }, | ||||
|  | 
 | ||||
|  |     mounted() { | ||||
|  |         this._super(); | ||||
|  |         this.$search_container = $(".search-container"); | ||||
|  |         this.$search_input = $(".search-input input"); | ||||
|  |         this.$search_results = $(".search-results"); | ||||
|  |         this.$app_menu = $(".app-menu"); | ||||
|  |         this.$dropdown_menu = $(".dropdown-menu"); | ||||
|  |     }, | ||||
|  | 
 | ||||
|  |      _searchMenusSchedule: function () { | ||||
|  |         this.$search_results.removeClass("o_hidden") | ||||
|  |         this.$app_menu.addClass("o_hidden"); | ||||
|  |         this._search_def.reject(); | ||||
|  |         this._search_def = $.Deferred(); | ||||
|  |         setTimeout(this._search_def.resolve.bind(this._search_def), 50); | ||||
|  |         this._search_def.done(this._searchMenus.bind(this)); | ||||
|  |     }, | ||||
|  | 
 | ||||
|  |     _searchMenus: function () { | ||||
|  |         var query = this.$search_input.val(); | ||||
|  |         if (query === "") { | ||||
|  |             this.$search_container.removeClass("has-results"); | ||||
|  |             this.$app_menu.removeClass("o_hidden"); | ||||
|  |             this.$search_results.empty(); | ||||
|  |             return; | ||||
|  |         } | ||||
|  |         var results = []; | ||||
|  | 
 | ||||
|  |         fuzzyLookup(query, this._apps, (menu) => menu.label) | ||||
|  |         .forEach((menu) => { | ||||
|  |             results.push({ | ||||
|  |                 category: "apps", | ||||
|  |                 name: menu.label, | ||||
|  |                 actionID: menu.actionID, | ||||
|  |                 id: menu.id, | ||||
|  |                 webIconData: menu.webIconData, | ||||
|  |             }); | ||||
|  |         }); | ||||
|  | 
 | ||||
|  |         fuzzyLookup(query, this._searchableMenus, (menu) => | ||||
|  |             (menu.parents + " / " + menu.label).split("/").reverse().join("/") | ||||
|  |         ).forEach((menu) => { | ||||
|  |             results.push({ | ||||
|  |                 category: "menu_items", | ||||
|  |                 name: menu.parents + " / " + menu.label, | ||||
|  |                 actionID: menu.actionID, | ||||
|  |                 id: menu.id, | ||||
|  |             }); | ||||
|  |         }); | ||||
|  | 
 | ||||
|  |         this.$search_container.toggleClass( | ||||
|  |             "has-results", | ||||
|  |             Boolean(results.length) | ||||
|  |         ); | ||||
|  |         this.$search_results.html( | ||||
|  |             core.qweb.render( | ||||
|  |                 "irie_backend_theme.SearchResults", | ||||
|  |                 { | ||||
|  |                     results: results, | ||||
|  |                     widget: this, | ||||
|  |                 } | ||||
|  |             ) | ||||
|  |         ); | ||||
|  |     }, | ||||
|  | 
 | ||||
|  | }); | ||||
| @ -0,0 +1,66 @@ | |||||
|  | <templates id="template" xml:space="preserve"> | ||||
|  |     <t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension" owl="1"> | ||||
|  |         <xpath expr="//Dropdown[hasclass('o_navbar_apps_menu')]" | ||||
|  |                position="replace"> | ||||
|  |             <li class="dropdown d-flex justify-content-center align-items-center"> | ||||
|  |                 <a class="full" data-toggle="dropdown" data-display="static" | ||||
|  |                    href="#"> | ||||
|  |                     <i class="fa fa-th-large" | ||||
|  |                        style="font-size: 18px !important; color: white; margin-top: 3px;"/> | ||||
|  |                 </a> | ||||
|  |                     <div class="dropdown-menu fullscreen-menu" role="menu"> | ||||
|  |                         <div class="search-container form-row align-items-center m-auto mb-5 col-12"> | ||||
|  |                             <div class="search-input col-md-10 ml-auto mr-auto mb-5" | ||||
|  |                                  t-on-input="_searchMenusSchedule"> | ||||
|  |                                     <div class="input-group"> | ||||
|  |                                         <div class="input-group-prepend"> | ||||
|  |                                             <div class="input-group-text"> | ||||
|  |                                                 <i class="fa fa-search"/> | ||||
|  |                                             </div> | ||||
|  |                                         </div> | ||||
|  |                                         <input type="search" | ||||
|  |                                                autocomplete="off" | ||||
|  |                                                placeholder="Search menus..." | ||||
|  |                                                class="form-control"/> | ||||
|  |                                     </div> | ||||
|  |                                 </div> | ||||
|  |                             <div class="search-results col-md-10 ml-auto mr-auto"/> | ||||
|  |                         </div> | ||||
|  | 
 | ||||
|  |                         <div class="nav-container"> | ||||
|  |                             <div class="app-menu"> | ||||
|  |                                 <t t-foreach="menuService.getApps()" t-as="app"> | ||||
|  |                                     <a role="menuitem" | ||||
|  |                                        t-attf-href="#menu_id={{app.id}}" | ||||
|  |                                        class="dropdown-item o_app mt0" | ||||
|  |                                        t-att-data-menu-id="app.menuID" | ||||
|  |                                        t-att-data-menu-xmlid="app.xmlID" | ||||
|  |                                        t-att-data-action-id="app.actionID"> | ||||
|  |                                         <img t-att-title="app.name" | ||||
|  |                                              style="width: 70px !important;height: 70px !important;border-radius: 10px !important;margin: 5px 5px 5px 5px;" | ||||
|  |                                              t-attf-src="data:image/png;base64,{{app.webIconData}}"/> | ||||
|  |                                         <b class="a_app_menu_title"><t t-esc="app.name"/></b> | ||||
|  |                                     </a> | ||||
|  |                                 </t> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |             </li> | ||||
|  | 
 | ||||
|  |         </xpath> | ||||
|  |     </t> | ||||
|  |     <t t-name="irie_backend_theme.SearchResults"> | ||||
|  |         <t t-foreach="results" t-as="result"> | ||||
|  |             <div class="search_icons"> | ||||
|  |             <a t-attf-class="o-menu-search-result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}" | ||||
|  |                t-attf-style="background-image:url('data:image/png;base64,#{result.webIconData}')" | ||||
|  |                t-attf-href="#menu_id=#{result.id}&action_id=#{result.actionID}" | ||||
|  |                t-att-data-menu-id="result.id" | ||||
|  |                t-att-data-action-id="result.actionID" | ||||
|  |                t-raw="result.name" | ||||
|  |                onclick="$('.dropdown-menu').removeClass('show'); $('.search-results').addClass('o_hidden'); $('.app-menu').removeClass('o_hidden'); $('.search-input input').val('');"/> | ||||
|  |             </div> | ||||
|  |         </t> | ||||
|  |     </t> | ||||
|  | 
 | ||||
|  | </templates> | ||||
| @ -0,0 +1,25 @@ | |||||
|  | /** @odoo-module **/ | ||||
|  | 
 | ||||
|  | const { Component, hooks } = owl; | ||||
|  | const { useExternalListener, useState, useRef } = hooks; | ||||
|  | import { useService } from "@web/core/utils/hooks"; | ||||
|  | import { bus, _t } from 'web.core'; | ||||
|  | import { AppItem } from "./app_bar_item"; | ||||
|  | 
 | ||||
|  | export class AppBar extends Component { | ||||
|  |     setup(){ | ||||
|  |         this.currentAppSectionsExtra = []; | ||||
|  |         this.actionService = useService("action"); | ||||
|  |         this.menuService = useService("menu"); | ||||
|  |         var apps = this.menuService.getApps(); | ||||
|  |         this.state = useState({ apps }); | ||||
|  | 
 | ||||
|  |     } | ||||
|  |     willUnmount() { | ||||
|  |         this.env.bus.off("MENUS:APP-CHANGED", this); | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
|  |  AppBar.components = { AppItem }; | ||||
|  |  AppBar.props = {}; | ||||
|  |  AppBar.template = 'irie_backend_theme.app_bar'; | ||||
| @ -0,0 +1,117 @@ | |||||
|  | 
 | ||||
|  | $sidebar_toggle_one_width: 50px; | ||||
|  | 
 | ||||
|  | .app_bar { | ||||
|  | 
 | ||||
|  |     display: flex; | ||||
|  |     flex-direction: row; | ||||
|  | 
 | ||||
|  |     z-index: 4; | ||||
|  |     width: $sidebar_toggle_one_width; | ||||
|  |     position: fixed; | ||||
|  |     top: 46px; | ||||
|  |     bottom: 0; | ||||
|  | 
 | ||||
|  |     transition: width 0.3s ease-in-out 0s, left 0.3s ease-in-out 0s, margin-left 0.3s ease-in-out 0s; | ||||
|  |     overflow: hidden; | ||||
|  | 
 | ||||
|  |     -webkit-box-shadow: 0 3px 10px rgba(62, 85, 120, .045); | ||||
|  |     -moz-box-shadow: 0 3px 10px rgba(62, 85, 120, .045); | ||||
|  |     box-shadow: 0 3px 10px rgba(62, 85, 120, .045); | ||||
|  |     background-color: $secondary_accent; | ||||
|  | 
 | ||||
|  |     .slide-enter-active, .slide-leave-active { | ||||
|  |         transition: height 0.3s ease-in-out 0.3s; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .slide-enter, .slide-leave-to { | ||||
|  |         height: 0px; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .app_container { | ||||
|  |          | ||||
|  |         display: flex; | ||||
|  |         flex-direction: column; | ||||
|  |         flex-shrink: 0; | ||||
|  | 
 | ||||
|  |         width: $sidebar_toggle_one_width; | ||||
|  |         overflow: hidden; | ||||
|  |         z-index: 5; | ||||
|  | 
 | ||||
|  |         a { | ||||
|  |             &:hover { | ||||
|  |                 position: relative; | ||||
|  |                 color: $color_white; | ||||
|  |                 background: rgba(255, 255, 255, .2); | ||||
|  |             } | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         ul { | ||||
|  |             margin: 0; | ||||
|  |             padding: 0; | ||||
|  | 
 | ||||
|  |             li { | ||||
|  |                 a:hover { | ||||
|  |                     color: $color_white | ||||
|  |                 } | ||||
|  |             } | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         .scroll_container { | ||||
|  |             width: $sidebar_toggle_one_width; | ||||
|  |             overflow: hidden; | ||||
|  | 
 | ||||
|  |             .app_items_wrapper { | ||||
|  |                 width: 80px; | ||||
|  |                 height: 100%; | ||||
|  | 
 | ||||
|  |                 overflow-y: scroll; | ||||
|  |                 overflow-x: hidden; | ||||
|  | 
 | ||||
|  |                 .app_items { | ||||
|  |                     width: $sidebar_toggle_one_width; | ||||
|  | 
 | ||||
|  |                     .o-app-icon { | ||||
|  |                         width: 32px; | ||||
|  |                         height: 32px; | ||||
|  |                     } | ||||
|  |                 } | ||||
|  |             } | ||||
|  |         } | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     // because we need to drag app items, it is standlone, so we put it here | ||||
|  |     .app_item { | ||||
|  | 
 | ||||
|  |         display: flex; | ||||
|  |         align-items: center; | ||||
|  |         justify-content: center; | ||||
|  | 
 | ||||
|  |         color: #fff; | ||||
|  |         flex-direction: column; | ||||
|  |         height: 48px; | ||||
|  |         padding: 8px; | ||||
|  | 
 | ||||
|  |         .app_name { | ||||
|  |             max-width: 95%; | ||||
|  |             text-align: center; | ||||
|  |             overflow: hidden; | ||||
|  |             text-overflow: ellipsis; | ||||
|  |             padding: 10px 0px 0px 0px; | ||||
|  |             color: $color_white; | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         .o-app-icon { | ||||
|  |             width: 32px; | ||||
|  |             height: 32px; | ||||
|  |         } | ||||
|  |     } | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_main_navbar { | ||||
|  |     background-color: $primary_accent; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_action_manager { | ||||
|  |     margin-left: 50px; | ||||
|  | } | ||||
| @ -0,0 +1,19 @@ | |||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | 
 | ||||
|  | <templates id="template" xml:space="preserve"> | ||||
|  |     <t t-name="irie_backend_theme.app_bar" owl="1"> | ||||
|  |         <div class="app_bar"> | ||||
|  |             <div class="app_container"> | ||||
|  |                 <div class="scroll_container flex-fill "> | ||||
|  |                     <div class="app_items_wrapper d-flex flex-column"> | ||||
|  |                         <div class="app_items flex-fill"> | ||||
|  |                             <t t-foreach="state.apps || []" t-as="app" t-key="app.id"> | ||||
|  |                                 <AppItem app="app" t-on-app-click="on_app_click" /> | ||||
|  |                             </t> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                 </div> | ||||
|  |             </div> | ||||
|  |         </div> | ||||
|  |     </t> | ||||
|  | </templates> | ||||
| @ -0,0 +1,60 @@ | |||||
|  | /** @odoo-module **/ | ||||
|  | 
 | ||||
|  | const { Component, hooks} = owl; | ||||
|  | const { useState } = hooks; | ||||
|  | import { useService } from "@web/core/utils/hooks"; | ||||
|  | 
 | ||||
|  | export class AppItem extends Component{ | ||||
|  |     setup(){ | ||||
|  |         this.menuService = useService('menu'); | ||||
|  |         this.state= useState({ | ||||
|  |             active:false | ||||
|  |         }) | ||||
|  |     } | ||||
|  |     mounted() { | ||||
|  |         this.env.bus.on("MENUS:APP-CHANGED", this, this.on_app_changed); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     willUnmount() { | ||||
|  |         this.env.bus.off("MENUS:APP-CHANGED", this); | ||||
|  |     } | ||||
|  |     on_app_changed() { | ||||
|  | 
 | ||||
|  |         var current_app = this.menuService.getCurrentApp(); | ||||
|  |         var first_app = current_app; | ||||
|  |         while (first_app.parent) { | ||||
|  |             first_app = first_app.parent; | ||||
|  |             first_app.open = true | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         if (first_app.id == this.app.id) { | ||||
|  |             this.state.active = true; | ||||
|  |         } else { | ||||
|  |             this.state.active = false; | ||||
|  |         } | ||||
|  |     } | ||||
|  |     getMenuItemHref() { | ||||
|  |         const parts = [`menu_id=${this.app.id}`]; | ||||
|  |         if (this.app.action) { | ||||
|  |             parts.push(`action=${this.app.action.split(",")[1]}`); | ||||
|  |         } | ||||
|  |         return "#" + parts.join("&"); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     get app() { | ||||
|  |         return this.props.app; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     click_app_item(event) { | ||||
|  |         this.state.active = true; | ||||
|  |         this.menuService.selectMenu(this.app); | ||||
|  |     } | ||||
|  | } | ||||
|  | 
 | ||||
|  | AppItem.props = { | ||||
|  |     app: { | ||||
|  |         type: Object | ||||
|  |     } | ||||
|  | }; | ||||
|  | 
 | ||||
|  | AppItem.template = "irie_backend_theme.app_bar_item"; | ||||
| @ -0,0 +1,13 @@ | |||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | 
 | ||||
|  | <templates id="template" xml:space="preserve"> | ||||
|  |     <!-- menu apps --> | ||||
|  |     <t t-name="irie_backend_theme.app_bar_item" owl="1"> | ||||
|  |         <a class="app_item" | ||||
|  |             t-att-class="{'active': state.active}" | ||||
|  |             t-on-click.prevent="click_app_item" | ||||
|  |             t-att-href="getMenuItemHref()"> | ||||
|  |             <img class="o-app-icon " t-attf-src="data:image/png;base64,{{app.webIconData}}"/> | ||||
|  |         </a> | ||||
|  |     </t> | ||||
|  | </templates> | ||||
| @ -0,0 +1,69 @@ | |||||
|  | <?xml version="1.0" encoding="UTF-8" ?> | ||||
|  | <templates xml:space="preserve"> | ||||
|  |     <t t-name="irie_backend_theme.HomeMenu" owl="1"> | ||||
|  | 
 | ||||
|  |     <div class="o_home_menu"> | ||||
|  | <!--        <ExpirationPanel/>--> | ||||
|  | <!--        <div class="o_menu_search">--> | ||||
|  | <!--            <span class="fa fa-search o_menu_search_icon" role="img"--> | ||||
|  | <!--                  aria-label="Search" title="Search"/>--> | ||||
|  | <!--            <input t-ref="input" type="text" placeholder="Search..."--> | ||||
|  | <!--                   class="o_menu_search_input" t-on-input="_onInputSearch"--> | ||||
|  | <!--                   role="combobox"--> | ||||
|  | <!--                   t-att-aria-activedescendant="state.isSearching and (appIndex === null ? 'result_menu_' + menuIndex : 'result_app_' + appIndex)"--> | ||||
|  | <!--                   t-att-aria-expanded="state.isSearching ? 'true' : 'false'"--> | ||||
|  | <!--                   aria-autocomplete="list"--> | ||||
|  | <!--                   aria-haspopup="listbox"--> | ||||
|  | <!--            />--> | ||||
|  | <!--        </div>--> | ||||
|  | <!--        <div class="o_home_menu_scrollable" t-ref="mainContent">--> | ||||
|  | <!--            <div t-if="displayedApps.length" role="listbox" class="o_apps">--> | ||||
|  | <!--                <a t-foreach="displayedApps" t-as="app"--> | ||||
|  | <!--                   t-att-id="'result_app_' + app_index"--> | ||||
|  | <!--                   role="option"--> | ||||
|  | <!--                   t-att-aria-selected="appIndex === app_index ? 'true' : 'false'"--> | ||||
|  | <!--                   class="o_app o_menuitem"--> | ||||
|  | <!--                   t-att-class="{o_focused: appIndex === app_index}"--> | ||||
|  | <!--                   t-att-data-menu-xmlid="app.xmlid"--> | ||||
|  | <!--                   t-att-href="app.href || ('#menu_id='+app.id+'&action_id='+app.actionID)"--> | ||||
|  | <!--                   t-key="app.id"--> | ||||
|  | <!--                   t-on-click.prevent="_onAppClick(app)"--> | ||||
|  | <!--                >--> | ||||
|  | <!--                    <div t-if="app.webIconData" class="o_app_icon"--> | ||||
|  | <!--                         t-attf-style="background-image: url('{{app.webIconData}}');"--> | ||||
|  | <!--                    />--> | ||||
|  | <!--                    <div t-else="" class="o_app_icon"--> | ||||
|  | <!--                         t-attf-style="background-color: {{app.webIcon.backgroundColor}};"--> | ||||
|  | <!--                    >--> | ||||
|  | <!--                        <i t-att-class="app.webIcon.iconClass"--> | ||||
|  | <!--                           t-attf-style="color: {{app.webIcon.color}};"/>--> | ||||
|  | <!--                    </div>--> | ||||
|  | <!--                    <div class="o_caption" t-esc="app.label or app.name"/>--> | ||||
|  | <!--                </a>--> | ||||
|  | <!--            </div>--> | ||||
|  | <!--            <div t-if="displayedMenuItems.length" role="listbox"--> | ||||
|  | <!--                 class="o_menuitems">--> | ||||
|  | <!--                <a t-foreach="displayedMenuItems" t-as="menu"--> | ||||
|  | <!--                   t-att-id="'result_menu_' + menu_index"--> | ||||
|  | <!--                   role="option"--> | ||||
|  | <!--                   t-att-aria-selected="menuIndex === menu_index ? 'true' : 'false'"--> | ||||
|  | <!--                   class="o_menuitem"--> | ||||
|  | <!--                   t-att-class="{o_focused: menuIndex === menu_index}"--> | ||||
|  | <!--                   t-att-href="menu.href ? menu.href : ('#menu_id='+menu.id+'&action_id='+menu.actionID)"--> | ||||
|  | <!--                   t-key="menu.id"--> | ||||
|  | <!--                   t-on-click.prevent="_onMenuitemClick(menu)"--> | ||||
|  | <!--                >--> | ||||
|  | <!--                    <span class="o_menuitem_parents"><t t-esc="menu.parents"/>--> | ||||
|  | <!--                        / </span>--> | ||||
|  | <!--                    <t t-esc="menu.label"/>--> | ||||
|  | <!--                </a>--> | ||||
|  | <!--            </div>--> | ||||
|  | <!--            <div t-elif="!displayedApps.length" id="result_menu_0" role="option"--> | ||||
|  | <!--                 aria-selected="true" class="o_no_result">--> | ||||
|  | <!--                No result--> | ||||
|  | <!--            </div>--> | ||||
|  | <!--        </div>--> | ||||
|  |     </div> | ||||
|  | </t> | ||||
|  | 
 | ||||
|  | </templates> | ||||
| @ -0,0 +1,33 @@ | |||||
|  | $primary_accent: var(--primary-accent) !important; | ||||
|  | $secondary_accent: var(--secondary-accent) !important; | ||||
|  | $inverse_accent: var(--inverse-accent) !important; | ||||
|  | $kanban-bg-color:var(--kanban-bg-color) !important; | ||||
|  | $o-kanban-color-border-width: var(--o-kanban-color-border-width) !important; | ||||
|  | $selected_row: var(--selected-row) !important; | ||||
|  | $bg_white: var(--bg-white) !important; | ||||
|  | $f_color: var(--f-color) !important; | ||||
|  | $color_white : var(--color-white) !important; | ||||
|  | $primary_hover: var(--primary-hover) !important; | ||||
|  | $light_hover: var(--light-hover) !important; | ||||
|  | 
 | ||||
|  | $fullscreen-bg-color: var(--fullscreen-bg-color) !important; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | :root{ | ||||
|  |     --primary-accent: #004589 ; | ||||
|  |     --primary-accent-border: #ffffff; | ||||
|  |     --app-bar-accent: #ffffff; | ||||
|  |     --full-screen-bg: url(/irie_backend_theme/static/description/assets/background.jpg) ; | ||||
|  | 
 | ||||
|  |     --kanban-bg-color:#f7f7f7; | ||||
|  |     --o-kanban-color-border-width: 8px !important; | ||||
|  |     --selected-row: #ffffff !important; | ||||
|  |     --app-menu-font-color:#ffffff; | ||||
|  |     --bg-white: #ffffff !important; | ||||
|  |     --f-color: #555b6d !important; | ||||
|  |     --color-white : #ffffff !important; | ||||
|  |     --primary-hover: #00376e; | ||||
|  |     --light-hover: #d5d5d5 ; | ||||
|  |     --secoundary-hover:#ffffff; | ||||
|  |     --fullscreen-bg-color: #C5F0FC !important; | ||||
|  | } | ||||
| @ -0,0 +1,684 @@ | |||||
|  | .bg-primary{ | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | .o_field_widget.o_field_many2one .o_external_button { | ||||
|  |     -webkit-box-flex: 0; | ||||
|  |     -webkit-flex: 0 0 auto; | ||||
|  |     flex: 0 0 auto; | ||||
|  |     padding-left:1%; | ||||
|  |     padding-right:0.5%; | ||||
|  | 
 | ||||
|  |     margin-left: 2px; | ||||
|  |     font-size: 19px; | ||||
|  |     color: #7C7BAD; | ||||
|  |     border: none; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .app_bar .app_container a:hover{ | ||||
|  |     background:var(--secoundary-hover) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .fullscreen-menu{ | ||||
|  |     height: calc(100vh - 46px); | ||||
|  |     background: var(--full-screen-bg); | ||||
|  |     background-size: cover; | ||||
|  |     background-repeat: no-repeat; | ||||
|  |     min-width: 100%; | ||||
|  |     overflow-y: auto !important; | ||||
|  |     overflow-x: hidden !important; | ||||
|  |     margin-top: 0; | ||||
|  |     position: fixed; | ||||
|  |     top: 46px; | ||||
|  |     left: -1px; | ||||
|  |     padding: 2.5rem 0; | ||||
|  | } | ||||
|  | .a_app_menu_title{ | ||||
|  |     color: var(--app-menu-font-color) !important; | ||||
|  | } | ||||
|  | .o_main_navbar{ | ||||
|  |     border-bottom: 1px solid var(--primary-hover) !important; | ||||
|  | } | ||||
|  | .dropdown-toggle { | ||||
|  |     &:hover{ | ||||
|  |         background: var(--primary-hover) !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { | ||||
|  | 
 | ||||
|  |     background-repeat: no-repeat; | ||||
|  |     background-size: 23px; | ||||
|  |     padding-left: 40px; | ||||
|  |     margin-bottom: 5px; | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | //Top bar | ||||
|  | //icon color | ||||
|  | .o_searchview .o_searchview_facet .o_searchview_facet_label { | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | .btn-secondary { | ||||
|  |     color: #fff !important; | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  |     border-color: var(--primary-accent) !important; | ||||
|  |     margin:0 5px 0 0; | ||||
|  |     &:hover{ | ||||
|  |         background-color: var(--primary-hover) !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_searchview { | ||||
|  |     background-color: var(--bg-white) !important; | ||||
|  |     border: 1px solid #ccc; | ||||
|  |     border-radius: 10px; | ||||
|  |     padding: 1px 25px 3px 5px; | ||||
|  | } | ||||
|  | .o_searchview .o_searchview_input_container { | ||||
|  |     display: flex; | ||||
|  |     flex-flow: row wrap; | ||||
|  |     position: relative; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_searchview .o_searchview_input_container .o_searchview_facet { | ||||
|  |     display: flex; | ||||
|  |     -webkit-box-flex: 0; | ||||
|  |     flex: 0 0 auto; | ||||
|  |     margin: 1px 3px 0 0; | ||||
|  |     max-width: 100%; | ||||
|  |     border-radius: 10px; | ||||
|  |     position: relative; | ||||
|  | } | ||||
|  | .o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label { | ||||
|  |     align-items: center; | ||||
|  |     color: var(--bg-white) !important; | ||||
|  |     -webkit-box-flex: 0; | ||||
|  |     flex: 0 0 auto; | ||||
|  |     padding: 0 3px; | ||||
|  |     border-radius: 10px; | ||||
|  |     display: flex; | ||||
|  |     max-width: 100%; | ||||
|  |     white-space: nowrap; | ||||
|  |     overflow: hidden; | ||||
|  |     text-overflow: ellipsis; | ||||
|  |     vertical-align: top; | ||||
|  | } | ||||
|  | //module icon | ||||
|  | .oe_module_icon { | ||||
|  |     width: 70px; | ||||
|  |     max-height: 70px; | ||||
|  |     max-width: 23%; | ||||
|  |     float: left; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_base_settings .o_setting_container .settings_tab .selected{ | ||||
|  |     background-color: var(--primary-hover); | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | .app_bar .app_container .scroll_container .app_items_wrapper .app_items{ | ||||
|  |     background-color:var(--app-bar-accent); | ||||
|  | } | ||||
|  | .app_bar .app_container .scroll_container .app_items_wrapper .app_items .o-app-icon { | ||||
|  |     width: 32px; | ||||
|  |     height: 32px; | ||||
|  |     border-radius: 5px; | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | //photo | ||||
|  | .o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left { | ||||
|  |     margin-top: -8px; | ||||
|  |     margin-bottom: -8px; | ||||
|  |     margin-left: -8px; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //drowpdowm | ||||
|  | .o-dropdown.dropup > .o-dropdown--menu, .o-dropdown.dropdown > .o-dropdown--menu, .o-dropdown.dropleft > .o-dropdown--menu, .o-dropdown.dropright > .o-dropdown--menu { | ||||
|  |     left: auto; | ||||
|  |     right: auto; | ||||
|  |     margin-left: 0; | ||||
|  |     margin-right: 0; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | //kanban | ||||
|  | .o_kanban_view.o_kanban_grouped .o_kanban_record, .o_kanban_view.o_kanban_grouped .o_kanban_quick_create { | ||||
|  |     width: 100%; | ||||
|  |     margin-left: 0; | ||||
|  |     margin-right: 0; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_kanban_view.o_kanban_ungrouped .o_kanban_record { | ||||
|  |     -webkit-box-flex: 1; | ||||
|  |     flex: 1 1 auto; | ||||
|  |     width: 300px; | ||||
|  |     margin: 4px 8px; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_kanban_view .o_column_quick_create .o_quick_create_folded .o_kanban_add_column { | ||||
|  |     margin-right: 8px; | ||||
|  |     display: inline-block; | ||||
|  |     padding: 10px 14px; | ||||
|  |     background-color: rgba(73, 80, 87, 0.1); | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left .o_kanban_image_inner_pic, .o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image .o_kanban_image_inner_pic { | ||||
|  |     position: absolute; | ||||
|  |     top: auto; | ||||
|  |     left: auto; | ||||
|  |     bottom: 0; | ||||
|  |     right: 0; | ||||
|  |     max-height: 25px; | ||||
|  |     max-width: 80%; | ||||
|  |     background: var(--bg-white) !important; | ||||
|  |     box-shadow: -1px -1px 0 1px var(--bg-white) !important; | ||||
|  |     border-radius: 10px; | ||||
|  |     margin: 5px; | ||||
|  | } | ||||
|  | .o_purchase_dashboard .table > thead > tr > td, .o_purchase_dashboard .table tbody > tr > td { | ||||
|  |     text-align: center; | ||||
|  |     width: 25%; | ||||
|  |     height: 33px; | ||||
|  |     vertical-align: middle; | ||||
|  |     border-top: 1px solid var(--bg-white) !important; | ||||
|  |     background-color: #f9f9f5; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_kanban_view.o_kanban_ungrouped { | ||||
|  |     min-height: 100%; | ||||
|  |     align-content: flex-start; | ||||
|  |     -webkit-flex-flow: row wrap; | ||||
|  |     flex-flow: row wrap; | ||||
|  |     -webkit-box-pack: start; | ||||
|  |     justify-content: flex-start; | ||||
|  |     padding: 8px 8px; | ||||
|  |     background-color: var(--kanban-bg-color) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | //chatter | ||||
|  | .o_Message.o-not-discussion { | ||||
|  |     background-color: #f8f9fa; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | //field dropdown | ||||
|  | .o_settings_container .o_setting_box .o_setting_right_pane .o_field_widget { | ||||
|  |     width: 50%; | ||||
|  |     -webkit-box-flex: 0; | ||||
|  |     flex: 0 0 auto; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_settings_container .o_setting_box .o_setting_right_pane .o_input_dropdown > .o_input { | ||||
|  |     width: 100%; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | //form input | ||||
|  | //required | ||||
|  | 
 | ||||
|  | .o_form_view .o_form_uri > span:first-child{ | ||||
|  |     color:var(--primary-accent) !important; | ||||
|  | } | ||||
|  | .o_form_view .oe_button_box .btn.oe_stat_button > .o_stat_info .o_stat_value, .o_form_view .oe_button_box .btn.oe_stat_button > span .o_stat_value | ||||
|  | { | ||||
|  |     color:var(--primary-accent) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_field_widget .o_input_dropdown > input { | ||||
|  |     cursor: pointer; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_field_widget .o_input_dropdown > input, .o_field_widget.o_datepicker > input { | ||||
|  |     padding-right: 14px; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | .o_form_view .o_group .o_field_widget { | ||||
|  |     width: 100%; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .oe_form_field_html .note-editable { | ||||
|  |     font: inherit !important; | ||||
|  |     font-family: inherit !important; | ||||
|  |     line-height: inherit !important; | ||||
|  |     color: inherit !important; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_form_view .oe_avatar > img { | ||||
|  |     max-width: 90px; | ||||
|  |     max-height: 90px; | ||||
|  |     vertical-align: top; | ||||
|  |     border: 1px solid #dee2e6; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_form_view .o_form_statusbar > .o_field_widget { | ||||
|  |     align-self: center; | ||||
|  |     margin-bottom: 0px; | ||||
|  |     border-radius: 10px; | ||||
|  | 
 | ||||
|  | } | ||||
|  | //settings | ||||
|  | .settings_tab { | ||||
|  | 	background-color: var(--primary-accent) !important; | ||||
|  |     -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; | ||||
|  |     box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important; | ||||
|  |     border-radius: 5px; | ||||
|  | } | ||||
|  | //satusbar | ||||
|  | .btn-warning:active, | ||||
|  | button[name="action_uninstall"]:active { | ||||
|  |     color: #fff !important; | ||||
|  |     background-color: #c1903d !important; | ||||
|  |     border-color: #b58739 !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | .btn-warning:focus, | ||||
|  | button[name="action_uninstall"]:focus { | ||||
|  |     color: #fff !important; | ||||
|  |     background-color: #cd9941 !important; | ||||
|  |     border-color: #c1903d !important; | ||||
|  |     -webkit-box-shadow: 0 0 0 0.15rem rgba(243,191,103,.50) !important; | ||||
|  |     box-shadow: 0 0 0 0.15rem rgba(243,191,1,.50) !important; | ||||
|  | } | ||||
|  | .btn-fill-secondary.disabled, .disabled.btn-secondary, .btn-fill-secondary:disabled, .btn-secondary:disabled { | ||||
|  |     color: #212529 !important; | ||||
|  |     background-color: #fff !important; | ||||
|  |     border-color: #fff !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | .o_statusbar_status .o_arrow_button.btn-secondary { | ||||
|  |     /*border: solid 1px var(--primary-accent) !important;*/ | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  |     background-color: #fff ; | ||||
|  | } | ||||
|  | .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before { | ||||
|  |     right: -11px; | ||||
|  |     border-left-color:var(--primary-accent) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | .o_statusbar_status .o_arrow_button.btn-secondary:hover:after { | ||||
|  |     border-color: #fff !important; | ||||
|  | } | ||||
|  | .o_statusbar_status .o_arrow_button.btn-primary { | ||||
|  |     border: solid 1px var(--primary-accent-border); | ||||
|  |     color: #fff !important; | ||||
|  | } | ||||
|  | .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled { | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  |     color: #fff; | ||||
|  | } | ||||
|  | .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:after, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:before { | ||||
|  |     border-left-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | //Avathar pic | ||||
|  | 
 | ||||
|  | .rounded-circle, .o_status, .o_calendar_invitation, .o_status_bubble, .o_Activity_detailsUserAvatar, .o_Activity_userAvatar { | ||||
|  |     border-radius: 10% !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .btn-fill-primary:hover, .btn-primary:hover, .btn-primary:hover, | ||||
|  | .btn-fill-primary:focus, .btn-primary:focus, .btn-primary:focus, | ||||
|  | .btn-fill-primary:active, .btn-primary:active, .btn-primary:active | ||||
|  | { | ||||
|  |     background:var(--primary-accent) !important; | ||||
|  |     border-color:var(--primary-accent) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //chat | ||||
|  | 
 | ||||
|  | .o_ChatWindowHeader { | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | .o_ChatWindow_newMessageFormInput { | ||||
|  |     outline: none; | ||||
|  |     border: 1px solid #dee2e6; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | //a | ||||
|  | a { | ||||
|  |     color: var(--primary-accent); | ||||
|  |     text-decoration: none; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //buttons | ||||
|  | .btn-fill-primary, .btn-primary{ | ||||
|  |     background-color:var(--primary-accent) !important; | ||||
|  |     border: none; | ||||
|  |     &:hover{ | ||||
|  |         background: var(--primary-hover); | ||||
|  |         color: #fff !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | .btn-primary { | ||||
|  |     color: #fff; | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  |     border-color: var(--primary-accent) !important; | ||||
|  |     margin:0 5px 0 0; | ||||
|  | } | ||||
|  | .btn-link { | ||||
|  |     font-weight: 400; | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  |     text-decoration: none; | ||||
|  | } | ||||
|  | .btn-link:hover { | ||||
|  |     color: var(--primary-hover); | ||||
|  |     text-decoration: none; | ||||
|  | } | ||||
|  | .btn-light{ | ||||
|  |     &:hover{ | ||||
|  |         background-color: var(--light-hover) !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | .o_form_view .oe_button_box .btn.oe_stat_button { | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  |     height: 44px; | ||||
|  |     padding: 0 6px 0 0 !important; | ||||
|  |     text-align: left; | ||||
|  |     white-space: nowrap; | ||||
|  |     background-color: transparent; | ||||
|  |     opacity: 0.8; | ||||
|  |     border-radius: 0px; | ||||
|  |     margin-bottom: 0; | ||||
|  | } | ||||
|  | .o_dashboards .o_website_dashboard div.o_box { | ||||
|  |     color: rgba(73, 80, 87, 0.76); | ||||
|  |     background-color: white; | ||||
|  |     background-size: cover; | ||||
|  |     margin-top: 16px; | ||||
|  |     position: static; | ||||
|  |     box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3); | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //button | ||||
|  | .custom-control-input:checked ~ .custom-control-label::before { | ||||
|  |     color: #fff; | ||||
|  |     border-color: var(--primary-accent) !important; | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //current date calender | ||||
|  | .o_calendar_view .o_calendar_widget .fc-timeGridDay-view .fc-widget-header.fc-today, .o_calendar_view .o_calendar_widget .fc-timeGridWeek-view .fc-widget-header.fc-today { | ||||
|  |     border-radius: 25px; | ||||
|  |     background: var(--primary-accent) !important; | ||||
|  |     color: var(--bg-white) !important; | ||||
|  | } | ||||
|  | // Tabs Start | ||||
|  | .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { | ||||
|  |     border: none; | ||||
|  |     border-bottom: solid; | ||||
|  |     font-weight: bold; | ||||
|  |     background: var(--primary-accent) !important; | ||||
|  |     color: var(--bg-white) !important; | ||||
|  |     border-radius: 5px,50px,5px,50px; | ||||
|  | } | ||||
|  | //website | ||||
|  | .o_dashboards .o_website_dashboard .o_dashboard_common .o_inner_box { | ||||
|  |     padding-top: 10px; | ||||
|  |     text-align: center; | ||||
|  |     border: 1px solid var(--bg-white) !important; | ||||
|  |     height: 80px; | ||||
|  |     overflow: hidden; | ||||
|  |     text-overflow: ellipsis; | ||||
|  |     white-space: nowrap; | ||||
|  |     cursor: pointer; | ||||
|  |     color: var(--color-white) !important; | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  |     border-radius:10px; | ||||
|  | 
 | ||||
|  |     &:hover{ | ||||
|  |         background-color: var(--primary-hover) !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | .o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main { | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  |     border-radius:10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | .dropdown-menu.show { | ||||
|  |     display: block; | ||||
|  |     border-radius: 0; | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | .o_mail_preview .o_mail_preview_image.o_mail_preview_app > img { | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //Graph | ||||
|  | .o_calendar_view .fc-view .fc-event.o_calendar_color_3:not(.o_calendar_hatched):not(.o_calendar_striked) { | ||||
|  |     background: var(--primary-hover) !important; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //Event | ||||
|  | .text-center { | ||||
|  |     text-align: center !important; | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //form control icons | ||||
|  | .o_form_view .oe_button_box .oe_stat_button .o_button_icon { | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | //.o_required_modifier.o_input, .o_required_modifier .o_input { | ||||
|  | //    background-color: var(--primary-accent) !important; | ||||
|  | //} | ||||
|  | 
 | ||||
|  | //small icons | ||||
|  | .o_search_panel .o_search_panel_category .o_search_panel_section_icon { | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | .badge-primary { | ||||
|  |     color: var(--color-white) !important; | ||||
|  |     background-color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | //wizard | ||||
|  | .modal.o_technical_modal .modal-content { | ||||
|  |     border-radius: 10px; | ||||
|  | } | ||||
|  | //Navbar | ||||
|  | .nav-container{ | ||||
|  |     height: auto !important; | ||||
|  |     background: transparent !important; | ||||
|  |     float: none !important; | ||||
|  |     padding: 0 !important; | ||||
|  |     width: 850px !important; | ||||
|  |     margin: 0 auto !important; | ||||
|  | } | ||||
|  | .o_nav_entry{ | ||||
|  |     &:hover{ | ||||
|  |         background-color: var(--primary-hover) !important; | ||||
|  |     } | ||||
|  | } | ||||
|  |  .app-menu{ | ||||
|  |      width: 100%; | ||||
|  |      display: flex; | ||||
|  |      flex-wrap: wrap; | ||||
|  |      justify-content: flex-start; | ||||
|  |      margin: 0 auto; | ||||
|  | 
 | ||||
|  | } | ||||
|  | //Responsive | ||||
|  | .o_MobileMessagingNavbar_tab.o-active{ | ||||
|  |     color: var(--primary-accent) !important; | ||||
|  | } | ||||
|  | @media (max-width: 768px){ | ||||
|  |     .app-menu{ | ||||
|  |         width: 100%; | ||||
|  |         display: grid; | ||||
|  |         grid-template-columns: 1fr 1fr 1fr; | ||||
|  |         justify-content: flex-start; | ||||
|  |         margin: 0 auto; | ||||
|  |         } | ||||
|  |     .o_cp_bottom{ | ||||
|  |         flex-wrap: wrap !important; | ||||
|  |     } | ||||
|  |     .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled { | ||||
|  | 
 | ||||
|  |         margin-right: 10px; | ||||
|  |     } | ||||
|  |     .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary), .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):hover, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):focus | ||||
|  |     { | ||||
|  |     margin-left:10px; | ||||
|  |     } | ||||
|  |     .o_form_view .o_form_statusbar > .o_field_widget { | ||||
|  |         margin-left: -24px !important; | ||||
|  |         margin-top: 1px !important; | ||||
|  |     } | ||||
|  |     .o_form_view .o_form_statusbar{ | ||||
|  |         flex-direction: column !important; | ||||
|  |         padding-left: 0px !important; | ||||
|  |     } | ||||
|  | } | ||||
|  | @media (min-width: 768px){ | ||||
|  |     .o_form_view .o_form_sheet_bg > .o_form_sheet { | ||||
|  |         margin: 12px auto; | ||||
|  |         border-radius: 10px; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .search-container{ | ||||
|  |         width: 750px; | ||||
|  |         margin: 0 auto; | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
|  | 
 | ||||
|  | @media (max-width:767px){ | ||||
|  | 
 | ||||
|  |     .o_form_view .o_group{ | ||||
|  |         width:100% !important; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .dropdown-menu.show { | ||||
|  |         display: block; | ||||
|  |         border-radius:0; | ||||
|  |     } | ||||
|  |     .o_control_panel .breadcrumb > li { | ||||
|  |     display: inline-block; | ||||
|  |     max-width: 100%; | ||||
|  |     white-space: nowrap; | ||||
|  |     overflow: hidden; | ||||
|  |     text-overflow: ellipsis; | ||||
|  |     vertical-align: top; | ||||
|  |     } | ||||
|  |     .o_control_panel .o_cp_top_right { | ||||
|  |         min-height: 30px; | ||||
|  |         max-width: 100%; | ||||
|  |         margin-left: 10%; | ||||
|  |     } | ||||
|  |     .o_form_view .o_form_sheet_bg > .o_form_sheet { | ||||
|  |         min-width: 100%; | ||||
|  |         max-width: 100%; | ||||
|  |         min-height: 100%; | ||||
|  |         border: 1px solid #c8c8d3; | ||||
|  |         box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); | ||||
|  |         background: white; | ||||
|  |         margin: 4.8px auto; | ||||
|  |         padding: 24px; | ||||
|  |         padding-right: 16px; | ||||
|  |         padding-left: 16px; | ||||
|  |     } | ||||
|  |     .oe_topbar_name{ | ||||
|  |         display:none; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .nav-container { | ||||
|  |     /*float: left;*/ | ||||
|  |     position: relative; | ||||
|  |     width: 100vw !important; | ||||
|  |     /*height: 100%;*/ | ||||
|  |     /*background: #fff;*/ | ||||
|  |     display: flex; | ||||
|  |     /* justify-content: start; */ | ||||
|  |     align-items: start; | ||||
|  |     margin-top: 2rem; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .o_cp_top{ | ||||
|  |         flex-wrap: wrap !important; | ||||
|  |     } | ||||
|  |     .o_cp_top_left, .o_cp_searchview{ | ||||
|  |         width: 100%; | ||||
|  |     } | ||||
|  |     .o_cp_top_right{ | ||||
|  |         width: 100%; | ||||
|  |         margin: 1.5rem auto; | ||||
|  |         margin-left: 0 !important; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     //Search Panel | ||||
|  |     .o_content o_controller_with_searchpanel, .o_controller_with_searchpanel{ | ||||
|  |         display:flex !important; | ||||
|  |         flex-direction: column !important; | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     .o_search_panel{ | ||||
|  |         display: flex; | ||||
|  |         overflow-x: auto; | ||||
|  |         overflow-y: auto; | ||||
|  |         height: 200px; | ||||
|  |         width: 100%; | ||||
|  |         section{ | ||||
|  |             margin-right: 1rem; | ||||
|  |         } | ||||
|  |     } | ||||
|  |     .o_search_panel section { | ||||
|  |         width: 100% !important; | ||||
|  |     } | ||||
|  |     .o_setting_container{ | ||||
|  |         display: flex; | ||||
|  |         flex-direction: column; | ||||
|  |     } | ||||
|  |     .settings_tab{ | ||||
|  |         display: flex; | ||||
|  |         flex-direction: row !important; | ||||
|  |         overflow-x: auto; | ||||
|  |         height: 40px; | ||||
|  |     } | ||||
|  |     .settings{ | ||||
|  |         margin-top: 1.5rem; | ||||
|  |     } | ||||
|  | } | ||||
|  | //@media(max-width:716px){ | ||||
|  | 
 | ||||
|  |     //html .o_web_client > .o_action_manager > .o_action > .o_content{ | ||||
|  |       //  overflow-x: hidden !important; | ||||
|  |    // } | ||||
|  | //} | ||||
|  | 
 | ||||
|  | @media (max-width:524px){ | ||||
|  | 
 | ||||
|  |     .o_control_panel .o_cp_bottom_right > .o_cp_pager | ||||
|  |     { | ||||
|  |         margin-top:5px; | ||||
|  |     } | ||||
|  |     div.app-menu *::before{ | ||||
|  |         box-sizing:none; | ||||
|  |     } | ||||
|  |     div.app-menu *::after{ | ||||
|  |         box-sizing:none; | ||||
|  |     } | ||||
|  | } | ||||
|  | @media (max-width:493px){ | ||||
|  |     .o_control_panel .o_cp_bottom_left > .o_cp_action_menus { | ||||
|  |         margin-left: 0px; | ||||
|  |         padding-right: 10px; | ||||
|  |     } | ||||
|  | } | ||||
|  | 
 | ||||
| @ -0,0 +1,150 @@ | |||||
|  | 
 | ||||
|  | #wrapwrap > main { | ||||
|  |     background: #f8f8fb; | ||||
|  | } | ||||
|  | .navbar { | ||||
|  |     background: #fff !important; | ||||
|  | } | ||||
|  | 
 | ||||
|  | body { | ||||
|  |     font-family: 'Poppins', sans-serif !important; | ||||
|  | } | ||||
|  | body.bg-100 { | ||||
|  |     background-color: #000000 !important; | ||||
|  | } | ||||
|  | .card.o_database_list { | ||||
|  |     align-items: center; | ||||
|  |     max-width: 450px !important | ||||
|  | } | ||||
|  | .card.o_database_list .card-body { | ||||
|  |     background-color: #fff !important; | ||||
|  |     border-radius: 5px !important; | ||||
|  |     -webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important; | ||||
|  |     box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important; | ||||
|  |     width: 450px; | ||||
|  | } | ||||
|  | .o_main_navbar .o_menu_sections { | ||||
|  |     flex-wrap: w | ||||
|  | } | ||||
|  | a { | ||||
|  |     color: #556ee6; | ||||
|  |     text-decoration: none; | ||||
|  | } | ||||
|  | a:hover { | ||||
|  |     color: #4458b8; | ||||
|  |     text-decoration: underline; | ||||
|  | } | ||||
|  | .alert-info { | ||||
|  |     color: #306391; | ||||
|  |     background-color: #dcedfc; | ||||
|  |     border-color: #cbe4fb; | ||||
|  | } | ||||
|  | .oe_login_form button.btn-link { | ||||
|  |     color: #495057; | ||||
|  |     font-weight: 500; | ||||
|  |     font-size: 14px !important; | ||||
|  | } | ||||
|  | .oe_login_form button.btn-link:hover { | ||||
|  |     color: #171a1c; | ||||
|  | } | ||||
|  | 
 | ||||
|  | //login button starts | ||||
|  | .btn-primary { | ||||
|  |     color: #fff; | ||||
|  |     background-color: #556ee6; | ||||
|  |     border-color: #556ee6; | ||||
|  | } | ||||
|  | .btn-primary:hover { | ||||
|  |     color: #fff; | ||||
|  |     background-color: #485ec4; | ||||
|  |     border-color: #4458b8; | ||||
|  | } | ||||
|  | .btn-check:active+.btn-primary, | ||||
|  | .btn-check:checked+.btn-primary, | ||||
|  | .btn-primary.active,.btn-primary:active, | ||||
|  | .show>.btn-primary.dropdown-toggle { | ||||
|  |     color: #fff; | ||||
|  |     background-color: #4458b8 !important; | ||||
|  |     border-color: #4053ad !important; | ||||
|  | } | ||||
|  | .btn-check:focus+.btn-primary, .btn-primary:focus { | ||||
|  |     color: #fff; | ||||
|  |     background-color: #485ec4 !important; | ||||
|  |     border-color: #4458b8 !important; | ||||
|  |     -webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important; | ||||
|  |     box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important; | ||||
|  | } | ||||
|  | .oe_login_form .btn { | ||||
|  |     display: inline-block; | ||||
|  |     cursor: pointer; | ||||
|  |     -webkit-user-select: none; | ||||
|  |     -moz-user-select: none; | ||||
|  |     -ms-user-select: none; | ||||
|  |     user-select: none; | ||||
|  |     padding: .47rem .75rem; | ||||
|  |     border-radius: .25rem; | ||||
|  |     -webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  |     transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  |     transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; | ||||
|  |     transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  | } | ||||
|  | .btn-secondary { | ||||
|  |     color: #fff !important; | ||||
|  |     background-color: #74788d !important; | ||||
|  |     border-color: #74788d !important; | ||||
|  | } | ||||
|  | .btn-secondary:hover { | ||||
|  |     color: #fff !important; | ||||
|  |     background-color: #636678 !important; | ||||
|  |     border-color: #5d6071 !important; | ||||
|  | } | ||||
|  | .btn-secondary:active { | ||||
|  |     color: #fff; | ||||
|  |     background-color: #5d6071 !important; | ||||
|  |     border-color: #575a6a !important; | ||||
|  | } | ||||
|  | .btn-secondary i,.btn-secondary span { | ||||
|  |     color: #fff !important; | ||||
|  | } | ||||
|  | .btn-fill-secondary:focus, .btn-secondary:focus, .btn-fill-secondary.focus, .focus.btn-secondary { | ||||
|  |     box-shadow: none !important; | ||||
|  | } | ||||
|  | //login button ends | ||||
|  | 
 | ||||
|  | //input starts | ||||
|  | .oe_login_form input { | ||||
|  |     display: block; | ||||
|  |     width: 100%; | ||||
|  |     height: 40px !important; | ||||
|  |     padding: 10px 20px; | ||||
|  |     font-size: 13px; | ||||
|  |     font-weight: 400; | ||||
|  |     line-height: 1.5; | ||||
|  |     color: #495057; | ||||
|  |     background-color: #fff; | ||||
|  |     background-clip: padding-box; | ||||
|  |     border: 1px solid #ced4da !important; | ||||
|  |     -webkit-appearance: none; | ||||
|  |     -moz-appearance: none; | ||||
|  |     appearance: none; | ||||
|  |     border-radius: .25rem; | ||||
|  |     -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  |     transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  |     transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; | ||||
|  |     transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; | ||||
|  |     box-shadow: none !important; | ||||
|  |     margin-bottom:10px !important; | ||||
|  | } | ||||
|  | form label { | ||||
|  |     font-weight: 400 !important; | ||||
|  | } | ||||
|  | .oe_login_form a.btn.btn-secondary { | ||||
|  |     height: 40px; | ||||
|  |     display: flex; | ||||
|  |     align-items: center; | ||||
|  |     justify-content: space-between; | ||||
|  |     padding: 0.35rem 0.75rem; | ||||
|  | } | ||||
|  | .oe_login_form a.btn.btn-secondary i.fa.fa-database { | ||||
|  |     margin-left: 5px; | ||||
|  | } | ||||
| @ -0,0 +1,11 @@ | |||||
|  | /** @odoo-module **/ | ||||
|  | 
 | ||||
|  | import { AppBar } from '@irie_backend_theme/components/app_side_bar/app_bar'; | ||||
|  | import { WebClient }  from '@web/webclient/webclient'; | ||||
|  | import { HomeMenu } from '@irie_backend_theme/components/home_menu/home_menu'; | ||||
|  | 
 | ||||
|  | WebClient.components = { | ||||
|  |     ...WebClient.components, | ||||
|  |     AppBar, | ||||
|  |     HomeMenu | ||||
|  | }; | ||||
| @ -0,0 +1,12 @@ | |||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | <templates xml:space="preserve"> | ||||
|  |     <t t-name="web.WebClient" t-inherit="web.WebClient" t-inherit-mode="extension" owl="1"> | ||||
|  |         <xpath expr ="//body" position="inside"> | ||||
|  |             <NotUpdatable> | ||||
|  |                 <AppBar/> | ||||
|  | 
 | ||||
|  |             </NotUpdatable> | ||||
|  |             <HomeMenu/> | ||||
|  |         </xpath> | ||||
|  |     </t> | ||||
|  | </templates> | ||||
| @ -0,0 +1,115 @@ | |||||
|  | <odoo> | ||||
|  |     <record id="res_config_cam" model="ir.ui.view"> | ||||
|  |         <field name="name">res.config.irie.backend.theme</field> | ||||
|  |         <field name="model">res.config.settings</field> | ||||
|  |         <field name="priority" eval="90"/> | ||||
|  |         <field name="inherit_id" ref="base.res_config_settings_view_form"/> | ||||
|  |         <field name="arch" type="xml"> | ||||
|  |             <xpath expr="//div[@id='companies']" position='after'> | ||||
|  |                 <h2>Irie Backend Theme</h2> | ||||
|  |                 <div class="row mt16 o_settings_container" name="barcode_scanner_using_cam"> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  | <!--                            <field name="theme_background"/>--> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="Background Image" for="theme_background" class="ml-4" required="1"/> | ||||
|  |                             <field name="theme_background" widget="image"/> | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="app_bar_color" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="App Bar Background Color" for="app_bar_color"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="appbar_text" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="AppMenu Text color" for="appbar_text"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="secoundary_hover" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="AppBar Hover color" for="secoundary_hover"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="primary_accent" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="Navbar Background Color" for="primary_accent"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="secondary_accent" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="Primary Border Color" for="secondary_accent"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="kanban_bg_color" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="Kanban Background Color" for="kanban_bg_color"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  |                     <div class="col-xs-12 col-md-6 o_setting_box"> | ||||
|  |                         <div class="o_setting_left_pane"> | ||||
|  |                             <field name="primary_hover" widget="color"/> | ||||
|  |                         </div> | ||||
|  |                         <div class="o_setting_right_pane"> | ||||
|  |                             <label string="Primary Button Hover" for="primary_hover"/> | ||||
|  | 
 | ||||
|  |                             <div class="text-muted"> | ||||
|  |                             </div> | ||||
|  |                         </div> | ||||
|  |                     </div> | ||||
|  | <!--                    <div class="col-xs-12 col-md-6 o_setting_box">--> | ||||
|  | <!--                        <div class="o_setting_left_pane">--> | ||||
|  | 
 | ||||
|  | <!--                        </div>--> | ||||
|  | <!--                        <div class="o_setting_right_pane">--> | ||||
|  | <!--                            <label string="Light Hover color" for="light_hover"/>--> | ||||
|  | <!--                            <field name="light_hover" widget="color"/>--> | ||||
|  | <!--                            <div class="text-muted">--> | ||||
|  | <!--                            </div>--> | ||||
|  | <!--                        </div>--> | ||||
|  | <!--                    </div>--> | ||||
|  | 
 | ||||
|  |                 </div> | ||||
|  |             </xpath> | ||||
|  |         </field> | ||||
|  |     </record> | ||||
|  | </odoo> | ||||
| @ -0,0 +1,9 @@ | |||||
|  | <?xml version="1.0" encoding="utf-8" ?> | ||||
|  | <odoo> | ||||
|  |     <template id="code_custom_layout" inherit_id="web.layout" name="Custom Layout"> | ||||
|  |         <xpath expr="//meta[@content='IE=edge,chrome=1']" position="after"> | ||||
|  |             <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> | ||||
|  |             <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap" rel="stylesheet"/> | ||||
|  |         </xpath> | ||||
|  |     </template> | ||||
|  | </odoo> | ||||