diff --git a/third_party_addons/dodger_blue/__init__.py b/third_party_addons/dodger_blue/__init__.py new file mode 100644 index 000000000..52980b464 --- /dev/null +++ b/third_party_addons/dodger_blue/__init__.py @@ -0,0 +1 @@ +# from . import models \ No newline at end of file diff --git a/third_party_addons/dodger_blue/__manifest__.py b/third_party_addons/dodger_blue/__manifest__.py new file mode 100644 index 000000000..f4b1b6ed9 --- /dev/null +++ b/third_party_addons/dodger_blue/__manifest__.py @@ -0,0 +1,35 @@ +{ + "name": "Dodger Blue Backend Theme", + "version": "18.0.1.0.0", + "category": "Themes/Backend", + "summary": "Outrageous Blue Backend Theme", + "description": 'With Dodger Blue Backend Theme dominant Dodger Blue color' + ' palette, the theme exudes a sense of professionalism and ' + 'clarity, enhancing the overall user interface', + 'author': 'PSDK', + 'company': 'FTPROTECH', + "website": "https://www.ftprotech.in", + "depends":['web','base'], + "data": [ + 'views/login_templates.xml', + # 'views/ir_menu.xml' + ], + 'assets': { + 'web.assets_frontend': [ + 'dodger_blue/static/src/scss/colors.scss', + 'dodger_blue/static/src/scss/theme_style.scss', + ], + 'web.assets_backend': [ + 'web/static/lib/jquery/jquery.js', + 'dodger_blue/static/src/js/sidebar_menu.js', + 'dodger_blue/static/src/scss/colors.scss', + 'dodger_blue/static/src/scss/theme_style_backend.scss', + 'dodger_blue/static/src/xml/sidebar_menu_icon_templates.xml', + ], + }, + 'images': ['static/description/banner.jpg', + 'static/description/theme_screenshot.jpg'], + 'installable': True, + 'auto_install': False, + 'application': True, +} diff --git a/third_party_addons/dodger_blue/doc/RELEASE_NOTES.md b/third_party_addons/dodger_blue/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..930b3f3d9 --- /dev/null +++ b/third_party_addons/dodger_blue/doc/RELEASE_NOTES.md @@ -0,0 +1,8 @@ +## Module + +#### 08.11.2024 +#### Version 18.0.1.0.0 +##### ADD + +- Initial Commit for Dodger Blue Backend Theme + diff --git a/third_party_addons/dodger_blue/models/__init__.py b/third_party_addons/dodger_blue/models/__init__.py new file mode 100644 index 000000000..36ec7207a --- /dev/null +++ b/third_party_addons/dodger_blue/models/__init__.py @@ -0,0 +1 @@ +from . import model \ No newline at end of file diff --git a/third_party_addons/dodger_blue/models/model.py b/third_party_addons/dodger_blue/models/model.py new file mode 100644 index 000000000..3558b2a45 --- /dev/null +++ b/third_party_addons/dodger_blue/models/model.py @@ -0,0 +1,66 @@ +from odoo import models, fields, api, tools, _ +from collections import defaultdict + + +class IrUiMenu(models.Model): + _inherit = 'ir.ui.menu' + + is_not_main_menu = fields.Boolean() + + @api.model + @tools.ormcache('frozenset(self.env.user.groups_id.ids)', 'debug') + def _visible_menu_ids(self, debug=False): + """ Return the ids of the menu items visible to the user. """ + # retrieve all menus, and determine which ones are visible + context = {'ir.ui.menu.full_list': True} + menus = self.with_context(context).search_fetch([], ['action', 'parent_id']).sudo() + + # first discard all menus with groups the user does not have + group_ids = set(self.env.user._get_group_ids()) + if not debug: + menus = menus.filtered(lambda menu: not (menu.is_not_main_menu)) + group_ids = group_ids - { + self.env['ir.model.data']._xmlid_to_res_id('base.group_no_one', raise_if_not_found=False)} + menus = menus.filtered( + lambda menu: not (menu.groups_id and group_ids.isdisjoint(menu.groups_id._ids))) + + # take apart menus that have an action + actions_by_model = defaultdict(set) + for action in menus.mapped('action'): + if action: + actions_by_model[action._name].add(action.id) + existing_actions = { + action + for model_name, action_ids in actions_by_model.items() + for action in self.env[model_name].browse(action_ids).exists() + } + action_menus = menus.filtered(lambda m: m.action and m.action in existing_actions) + folder_menus = menus - action_menus + visible = self.browse() + + # process action menus, check whether their action is allowed + access = self.env['ir.model.access'] + MODEL_BY_TYPE = { + 'ir.actions.act_window': 'res_model', + 'ir.actions.report': 'model', + 'ir.actions.server': 'model_name', + } + + # performance trick: determine the ids to prefetch by type + prefetch_ids = defaultdict(list) + for action in action_menus.mapped('action'): + prefetch_ids[action._name].append(action.id) + + for menu in action_menus: + action = menu.action + action = action.with_prefetch(prefetch_ids[action._name]) + model_name = action._name in MODEL_BY_TYPE and action[MODEL_BY_TYPE[action._name]] + if not model_name or access.check(model_name, 'read', False): + # make menu visible, and its folder ancestors, too + visible += menu + menu = menu.parent_id + while menu and menu in folder_menus and menu not in visible: + visible += menu + menu = menu.parent_id + + return set(visible.ids) \ No newline at end of file diff --git a/third_party_addons/dodger_blue/security/ir.model.access.csv b/third_party_addons/dodger_blue/security/ir.model.access.csv new file mode 100644 index 000000000..d66b21f89 --- /dev/null +++ b/third_party_addons/dodger_blue/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_menu_access_control,access.menu.access.control,model_menu_access_control,,1,1,1,1 +access_menu_access_line,access.menu.access.line,model_menu_access_line,,1,1,1,1 \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/description/banner.jpg b/third_party_addons/dodger_blue/static/description/banner.jpg new file mode 100644 index 000000000..bfe0597a0 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/banner.jpg differ diff --git a/third_party_addons/dodger_blue/static/description/icon.png b/third_party_addons/dodger_blue/static/description/icon.png new file mode 100644 index 000000000..56bd8ff20 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/icon.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/1.png b/third_party_addons/dodger_blue/static/description/img/1.png new file mode 100644 index 000000000..d752961b9 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/1.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/2.png b/third_party_addons/dodger_blue/static/description/img/2.png new file mode 100644 index 000000000..a8aee1d79 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/2.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/3.png b/third_party_addons/dodger_blue/static/description/img/3.png new file mode 100644 index 000000000..9cf442a5a Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/3.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/4.png b/third_party_addons/dodger_blue/static/description/img/4.png new file mode 100644 index 000000000..35f03c14c Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/4.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/5.png b/third_party_addons/dodger_blue/static/description/img/5.png new file mode 100644 index 000000000..a193b21aa Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/5.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/6.png b/third_party_addons/dodger_blue/static/description/img/6.png new file mode 100644 index 000000000..e944a1d77 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/6.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/7.png b/third_party_addons/dodger_blue/static/description/img/7.png new file mode 100644 index 000000000..8ea5d0396 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/7.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/8.png b/third_party_addons/dodger_blue/static/description/img/8.png new file mode 100644 index 000000000..9e9439cae Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/8.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/V-18-GIF.gif b/third_party_addons/dodger_blue/static/description/img/V-18-GIF.gif new file mode 100644 index 000000000..c1be84d03 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/V-18-GIF.gif differ diff --git a/third_party_addons/dodger_blue/static/description/img/arrows-repeat.svg b/third_party_addons/dodger_blue/static/description/img/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/banner-bg-1.svg b/third_party_addons/dodger_blue/static/description/img/banner-bg-1.svg new file mode 100644 index 000000000..7af9bab87 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/banner-bg-1.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/banner.jpg b/third_party_addons/dodger_blue/static/description/img/banner.jpg new file mode 100644 index 000000000..bfe0597a0 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/banner.jpg differ diff --git a/third_party_addons/dodger_blue/static/description/img/banner.svg b/third_party_addons/dodger_blue/static/description/img/banner.svg new file mode 100644 index 000000000..3d4ed7a4a --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/banner.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/check.svg b/third_party_addons/dodger_blue/static/description/img/check.svg new file mode 100644 index 000000000..1df6795ce --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/feature-star.svg b/third_party_addons/dodger_blue/static/description/img/feature-star.svg new file mode 100644 index 000000000..a913270e8 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/feature-star.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/gear.svg b/third_party_addons/dodger_blue/static/description/img/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/hire-odoo.svg b/third_party_addons/dodger_blue/static/description/img/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/life-ring-icon.svg b/third_party_addons/dodger_blue/static/description/img/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/odoo-consultancy.svg b/third_party_addons/dodger_blue/static/description/img/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/odoo-licencing.svg b/third_party_addons/dodger_blue/static/description/img/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/third_party_addons/dodger_blue/static/description/img/patter.svg b/third_party_addons/dodger_blue/static/description/img/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/puzzle-piece-icon.svg b/third_party_addons/dodger_blue/static/description/img/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/responsive_page.jpg b/third_party_addons/dodger_blue/static/description/img/responsive_page.jpg new file mode 100644 index 000000000..cdf613f33 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/responsive_page.jpg differ diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-1.svg b/third_party_addons/dodger_blue/static/description/img/screenshot-1.svg new file mode 100644 index 000000000..bf48f91c1 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/screenshot-1.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-2.png b/third_party_addons/dodger_blue/static/description/img/screenshot-2.png new file mode 100644 index 000000000..e13b876da Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/screenshot-2.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-3.png b/third_party_addons/dodger_blue/static/description/img/screenshot-3.png new file mode 100644 index 000000000..be1acdfd5 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/screenshot-3.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-4.png b/third_party_addons/dodger_blue/static/description/img/screenshot-4.png new file mode 100644 index 000000000..1d01e11fc Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/screenshot-4.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-5.svg b/third_party_addons/dodger_blue/static/description/img/screenshot-5.svg new file mode 100644 index 000000000..6b9b86fe6 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/screenshot-5.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-img.png b/third_party_addons/dodger_blue/static/description/img/screenshot-img.png new file mode 100644 index 000000000..a425d9ede Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/screenshot-img.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/screenshot-main.png b/third_party_addons/dodger_blue/static/description/img/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/screenshot-main.png differ diff --git a/third_party_addons/dodger_blue/static/description/img/template01.jpg b/third_party_addons/dodger_blue/static/description/img/template01.jpg new file mode 100644 index 000000000..4ec3123f4 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/template01.jpg differ diff --git a/third_party_addons/dodger_blue/static/description/img/thumbnail-image.jpg b/third_party_addons/dodger_blue/static/description/img/thumbnail-image.jpg new file mode 100644 index 000000000..8d7738375 Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/img/thumbnail-image.jpg differ diff --git a/third_party_addons/dodger_blue/static/description/img/translate.svg b/third_party_addons/dodger_blue/static/description/img/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/img/wrench-icon.svg b/third_party_addons/dodger_blue/static/description/img/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/img/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/third_party_addons/dodger_blue/static/description/index.html b/third_party_addons/dodger_blue/static/description/index.html new file mode 100644 index 000000000..b8c5cb7fa --- /dev/null +++ b/third_party_addons/dodger_blue/static/description/index.html @@ -0,0 +1,1005 @@ + + + + + + + app index + + + + + + + + + + +
+ + + +
+
+
+
+ +
+
+
+
+ +
+ Supports: +
+ Community +
+ +
+
+
+
+ Availability: +
+ Odoo Online +
+
+ Odoo Online +
+
+ On Premise +
+
+
+
+
+
+ + + + +
+
+ +
+
+ + + + + +
+
+
+
+
+

Our Features

+ +

info includes 300+ elements that you may need to create website without + external plugins.

+
+
+
+
+
+
+
+ +

Minimal, Colorful Login Screen

+

A simple and visually appealing login interface with vibrant colors to enhance user experience.

+ + + +
+ +
+
+
+
+
+ +

Kanban,Tree,Form view with a clean layout and modified font

+

Redesigned Kanban, Tree, and Form views with an organized layout and customized fonts for improved readability and aesthetics.

+
+ +
+
+
+
+
+ +

Discuss page with a different style

+

A refreshed design for the Discuss page, providing a unique look and feel for better interaction.

+
+ + +
+
+
+
+
+ +

Truly Responsive

+

Fully responsive design, ensuring optimal usability and display across all device types and screen sizes.

+
+ +
+
+
+
+
+ +

Customized date picker

+

A date picker tailored to user needs, providing a more intuitive and efficient date selection experience.

+
+ +
+
+ +
+
+
+ +

Advanced searching option for App menus

+

Enhanced search functionality within app menus, enabling quicker access to desired items and features.

+
+ +
+
+
+
+
+ + +
+
+
+ +
+
+
+
+
+ SETTINGS + + +
+ +
+
+
+ Login Page + +
+ +
+
+ +
+ KANBAN VIEW + +
+ +
+
+
+ TREE VIEW + +
+ +
+
+
+ FORM VIEW + +
+ +
+
+
+
+ + +
+
+
+
+
+
+
+ HIGHLIGHT +

Discuss

+

Discuss page with a different style.

+ + +
+
+ Grid item +
+ +
+
+ +
+
+
+ HIGHLIGHT +

Minimal, Colorful Login Screen

+

Customized minimal and colorful login screen.

+ +
+
+ Grid item +
+ +
+
+
+ + + + +
+
+
+
+ HIGHLIGHT +

Responsive Layout

+

Fully responsive layout which enables to view and manage everything from the comfort of your mobile device.

+ +
+
+ Grid item +
+ +
+
+ +
+
+
+ HIGHLIGHT +

Modified App Drawer

+

Modified app drawer which helps to navigate through different applications.

+ +
+
+ Grid item +
+ +
+
+
+ + + + +
+
+
+
+ HIGHLIGHT +

Custom Date Picker

+

Custom Date Picker View

+ +
+
+ Grid item +
+ +
+
+ +
+
+
+ HIGHLIGHT +

Advanced searching option for App menus

+

Advanced searching option which provides an easy way to navigate through the different app menus.

+ +
+
+ Grid item +
+ +
+
+
+ + +
+
+
+
+ +
+ + +
+ + + + + + + +
+
+
+
+

+ Fully Responsive
+ Layout. +

+ +
+

Now take advantage of everything your dashboard has to offer even on the go. Our + design are now fully responsive, enabling you to view and manage everything from the comfort of your + mobile device.

+
    +
  • Fully responsive
  • +
  • Fly-out hamburger menu on the left
  • +
  • Fits perfectly to all screen sizes
  • +
+
+
+
+
+
+
+ +
+ +
+
+
+
+ + + +
+
+
+
+
+ +
+ +
+
+
+
+

+ Kanban View
+ Layout +

+ +
+

The Kanban View in the "Dodger Blue" theme for Odoo 18 offers a clean, organized layout with color-coded cards for easy task tracking. A blue and white color scheme, modified fonts, and enhanced buttons improve readability and usability. This responsive design allows users to manage workflows efficiently, with easy drag-and-drop functionality across stages.

+
    + +
  • New Color Combination
  • +
  • Modified Font
  • +
  • Clean Layout
  • +
  • Buttons with New Colors
  • +
  • Full Screen View
  • +
+
+
+
+ +
+
+ +
+
+
+
+

+ List View
+ Layout +

+ +
+

The List View in the "Dodger Blue" theme for Odoo 18 features a clean, structured layout with a blue and white color scheme that enhances readability. Each row displays essential information clearly, with color-coded indicators for easy status recognition. The layout is fully responsive, designed to improve navigation and data management, allowing users to view, filter, and sort records efficiently. +.

+
    +
  • List View
  • +
  • Stages are Separated in View
  • +
  • New Color Combination
  • +
  • Modified Font
  • +
  • Clean Layout
  • +
  • Buttons with New Colors
  • +
  • Full Screen View
  • +
+
+
+
+
+
+
+ +
+ +
+
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
+

+ Form View
+ Layout +

+ +
+

The Form View in the "Dodger Blue" theme for Odoo 18 offers a streamlined, user-friendly design with a blue and white color scheme that improves readability. Key details are organized intuitively, with clearly labeled fields and sections, making data entry and editing straightforward. This responsive layout provides a clean, modern look that enhances the user experience while allowing efficient management of detailed records.

+
    +
  • Modified Form Style
  • +
  • Full Screen Form View
  • +
  • New Looks for Tabs
  • +
+
+
+
+ +
+
+ + + + + + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/description/theme_screenshot.jpg b/third_party_addons/dodger_blue/static/description/theme_screenshot.jpg new file mode 100644 index 000000000..329bdeceb Binary files /dev/null and b/third_party_addons/dodger_blue/static/description/theme_screenshot.jpg differ diff --git a/third_party_addons/dodger_blue/static/src/img/dashboard-header.jpg b/third_party_addons/dodger_blue/static/src/img/dashboard-header.jpg new file mode 100644 index 000000000..6a1044f6f Binary files /dev/null and b/third_party_addons/dodger_blue/static/src/img/dashboard-header.jpg differ diff --git a/third_party_addons/dodger_blue/static/src/js/sidebar_menu.js b/third_party_addons/dodger_blue/static/src/js/sidebar_menu.js new file mode 100644 index 000000000..0be45bfdf --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/js/sidebar_menu.js @@ -0,0 +1,94 @@ +/** @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"; +const { onMounted } = owl; +import { patch } from "@web/core/utils/patch"; +import { user } from "@web/core/user"; + + + + +patch(NavBar.prototype,{ + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + setup() { + super.setup() + this._search_def = $.Deferred(); + let { apps, menuItems } = computeAppsAndMenuItems(this.menuService.getMenuAsTree("root")); + this._apps = apps; + this._searchableMenus = menuItems; + this.user_id = user.userId; + this.user_name = user.name + onMounted(this.onMounted); + }, + + onMounted() { + 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"); + this.$cybro_main_menu = $(".cybro-main-menu") + var navbar = $(".o_main_navbar") + var self = this; + }, + _searchMenusSchedule() { + 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() { + 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) + ); + var resultsHtml = "" + this.$search_results.empty(); + results.forEach(function(result) { + resultsHtml += `
${result.name}
`; + }) + this.$search_results.append(resultsHtml); + }, + }); diff --git a/third_party_addons/dodger_blue/static/src/scss/colors.scss b/third_party_addons/dodger_blue/static/src/scss/colors.scss new file mode 100644 index 000000000..137473f96 --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/scss/colors.scss @@ -0,0 +1,46 @@ +// Text Colors +$text-color: #444; +$text-color-dark: #000000; +$text-color-medium: #37474f; +$text-color-light: #76838f; +$text-color-gray: #848484; +$text-color-discuss: #6c757d; +$text-title: #EEE; + +// Background Colors +$bg-white: #ffffff; +$bg-light-gray: #f1f4f5; +$bg-discuss: #f1f1f1; +$bg-scrollbar-track: #F5F5F5; +$bg-required-input: #f7f7f7; +$bg-control-panel-hr: #f0f4f5; +$bg-sidebar: #4A516B; + +// Primary Theme Colors +$primary-color: #a474b8; +$primary-color-dark: #272D42; +$primary-color-vibrant: #853bfa; + +// UI Element Colors +$ui-navbar-bg: #303641; +$ui-menu-bg: #30363F; +$ui-discuss-active: #212529; +$ui-discuss-sidebar: #e8e8e8; +$ui-disabled-bg: #dee2e6; + +// Border Colors +$border-input: #e4eaec; +$border-light: #d8e3e7; +$border-discuss: #cccccc; +$border-secondary: #afafae; + +// Button Colors +$btn-secondary-bg: #afafaf; +$btn-info-bg: #717171; + +// Special Colors +$shadow-login: #272D42; +$shadow-kanban: #d2c9eab5; +$notification-bg: #dc3545; +$scrollbar-thumb: #c8c8c8; +$hover-color: rgba(11, 105, 227, 0.05); \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/src/scss/googleapis.css b/third_party_addons/dodger_blue/static/src/scss/googleapis.css new file mode 100644 index 000000000..38ccbd6a5 --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/scss/googleapis.css @@ -0,0 +1,243 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* math */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2'); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* symbols */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2'); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-stretch: 100%; + src: url(https://fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/src/scss/googleapis_poppins.css b/third_party_addons/dodger_blue/static/src/scss/googleapis_poppins.css new file mode 100644 index 000000000..91cf77f0b --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/scss/googleapis_poppins.css @@ -0,0 +1,24 @@ +/* devanagari */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2'); + unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; +} +/* latin-ext */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/src/scss/theme_style.scss b/third_party_addons/dodger_blue/static/src/scss/theme_style.scss new file mode 100644 index 000000000..750766574 --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/scss/theme_style.scss @@ -0,0 +1,217 @@ +@import url('https://fonts.googleapis.com/css?family=Poppins'); + +body { + font-size: 14px; + font-family: lato, sans-serif +} + +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-family: poppins, sans-serif +} + +p { + font-family: lato, sans-serif; + font-size: 15px; + line-height: 26px; + color: $text-color; + margin-bottom: 0 +} + +p img { + margin: 0 +} + +a, a:visited { + text-decoration: none; + transition: all .3s ease-in-out; + -webkit-transition: all .3s ease-in-out; + -moz-transition: all .3s ease-in-out; + -o-transition: all .3s ease-in-out; + outline: 0; + font-family: poppins, sans-serif +} + +a:hover { + text-decoration: none +} + +a:focus { + text-decoration: none; + outline: 0 +} + +p a, p a:visited { + line-height: inherit; + outline: 0 +} + +ul, ol { + margin-bottom: 0; + margin-top: 0; + padding: 0 +} + +ul { + margin: 0; + list-style-type: none +} + +ol { + list-style: decimal +} + +ol, ul.square, ul.circle, ul.disc { + margin-left: 0 +} + +ul.square { + list-style: square outside +} + +ul.circle { + list-style: circle outside +} + +ul.disc { + list-style: disc outside +} + +ul ul, ul ol, ol ol, ol ul { + margin: 0 +} + +ul ul li, ul ol li, ol ol li, ol ul li { + margin-bottom: 0 +} + +button { + cursor: pointer; + outline: none !important; + letter-spacing: 0 +} + +blockquote { + padding: 60px; + position: relative; + background: $primary-color-vibrant +} + +blockquote:before { + content: '\f10d'; + font-family: fontawesome; + color: $bg-white; + font-size: 32px; + position: absolute; + left: 16px; + top: 46px +} + +blockquote p { + font-size: 17px; + color: $bg-white +} + +.blockquote-footer { + color: $bg-white +} +/*==============login================*/ +.oe_website_login_container { + padding: 1rem 5rem 5rem; + background: $bg-light-gray; +} +#wrapwrap .container .o_database_list{ +max-width: unset !important; +} + +.oe_login_form{ + width: max-content; + } + +.oe_login_form, .oe_signup_form, .oe_reset_password_form { + color: $bg-white !important; +} +.oe_login_form, .oe_signup_form, .oe_reset_password_form { + max-width: 360px; + position: relative; + margin: 50px auto; + border-radius: 7px; + padding: 3rem; + background: $bg-white; + box-shadow: 0 0 11px 0px $shadow-login; +} + +.oe_login_form input { + height: 40px !important; + + border-radius: 0 !important; + background: $bg-white !important; + border: 1px solid $bg-white; +} + +.oe_login_form i.fa.fa-database { + margin-left: 6px; +} + +.oe_login_form a.btn.btn-secondary { + display: flex; + justify-content: space-between; + align-items: center; + border-radius: 0 !important; +} +.cybro-login-btn { + height: 47px; + border-radius: 0; + background: $primary-color !important; + border: none; + color: $bg-white !important; + font-size: 16px; +} +.cybro-super-btn { + color: $bg-white; + font-size: 14px; + text-decoration: none; +} +.cybro-super-btn:hover { + color: $text-color-dark !important; + text-decoration: none; +} +.cybro-bg footer{ + background: $ui-navbar-bg !important; + color: $bg-white; + padding-top: 2rem; +} +.cybro-bg .navbar { + background: $ui-navbar-bg !important; + color: $bg-white; +} +.cybro-bg footer a,.cybro-bg footer p,.cybro-bg header a,.cybro-bg header p { + color: $bg-white; +} +.cybro-bg .navbar-light .navbar-nav .nav-link { + color: $bg-white !important; +} +.homepage .dropdown-menu.js_usermenu.dropdown-menu-right.show { + background: $ui-navbar-bg; +} +.oe_website_login_container .btn-secondary { + color: $bg-white; + background-color: $btn-secondary-bg; + border-color: $border-secondary; +} +input { + border: 1px solid $border-input !important; +} +.oe_login_form, .oe_signup_form, .oe_reset_password_form { + color: $text-color-medium !important; + font-weight: 300 !important; +} +form label { + font-weight: 300 !important; +} +@media (max-width: 400px) { + .oe_login_form { + max-width: 300px; + } + } +/*==============//login================*/ \ No newline at end of file diff --git a/third_party_addons/dodger_blue/static/src/scss/theme_style_backend.scss b/third_party_addons/dodger_blue/static/src/scss/theme_style_backend.scss new file mode 100644 index 000000000..f056bcdb0 --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/scss/theme_style_backend.scss @@ -0,0 +1,1661 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500'); + +body { + font-size: 14px; + font-family: lato, sans-serif +} + +h1, h2, h3, h4, h5, h6 { + margin: 0; + font-family: 'Roboto', sans-serif; +} + +p { + font-family: lato, sans-serif; + font-size: 15px; + line-height: 26px; + color: $text-color; + margin-bottom: 0 +} + +p img { + margin: 0 +} + +a, a:visited { + text-decoration: none; + transition: all .3s ease-in-out; + -webkit-transition: all .3s ease-in-out; + -moz-transition: all .3s ease-in-out; + -o-transition: all .3s ease-in-out; + outline: 0; + font-family: 'Roboto', sans-serif; +} + +a:hover { + text-decoration: none +} + +a:focus { + text-decoration: none; + outline: 0 +} + +a { + color: $text-color-dark !important; +} + +a:hover { + color: $primary-color; +} + +p a, p a:visited { + line-height: inherit; + outline: 0 +} + +ul, ol { + margin-bottom: 0; + margin-top: 0; + padding: 0 +} + +ul { + margin: 0; + list-style-type: none +} + +ol { + list-style: decimal +} + +ol, ul.square, ul.circle, ul.disc { + margin-left: 0 +} + +ul.square { + list-style: square outside +} + +ul.circle { + list-style: circle outside +} + +ul.disc { + list-style: disc outside +} + +ul ul, ul ol, ol ol, ol ul { + margin: 0 +} + +ul ul li, ul ol li, ol ol li, ol ul li { + margin-bottom: 0 +} + +input { + font-size: 14px !important; + border: 1px solid rgba(170, 170, 170, .3) !important; + padding: 10.72px 12.8px; + padding: .67rem .8rem; + display: block; + width: 100%; + height: 37px !important; + padding: 2.375rem .75rem; + font-size: 1rem; + line-height: 1.5; + color: $text-color-light; + background-color: $bg-white !important; + background-clip: padding-box; + border: 1px solid $border-input !important; + border-radius: 0 !important; + transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; +} +.o_sale_product_configurator_ptav_color input{ + padding: .67rem .8rem !important; + height:1rem !important; +} +.o_sale_product_configurator_table .form-check-input{ +line-height :unset; +color: unset; +} +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: transparent !important; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid $primary-color-dark !important; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + color-adjust: exact; + padding: unset !important; + border-radius: 50% !important; + height:1rem !important; +} +.o_sale_product_configurator_table .btn { +padding:0.3125rem 0.625rem !important; +background:$primary-color-dark; +} +.o_sale_product_configurator_table i.fa { +color:$bg-white !important; +} +.o_sale_product_configurator_qty a { +color:$primary-color-dark !important; +} +.form-check-input:checked { + background-color: $primary-color-dark !important; + border-color: $primary-color-dark !important; +} +button { + cursor: pointer; + outline: none !important; + letter-spacing: 0 +} + +blockquote { + padding: 60px; + position: relative; + background: $primary-color-vibrant +} + +blockquote:before { + content: '\f10d'; + font-family: fontawesome; + color: $bg-white; + font-size: 32px; + position: absolute; + left: 16px; + top: 46px +} + +blockquote p { + font-size: 17px; + color: $bg-white +} + +.blockquote-footer { + color: $bg-white +} + +/*Menu Bar*/ +.o_main_navbar .cybro-main-menu { + max-height: 100vh; + min-width: 100%; + overflow: auto; + margin-top: 0; + z-index: 99; + height: 100vh; + width: 280px; + overflow-y: scroll; + background: $ui-menu-bg; + box-shadow: 2px 0 32px rgba(0, 0, 0, .05); + -webkit-transition: all .3s ease 0s; + transition: all .3s ease 0s; + transform: none !important; + border: none; +} + +i.fa.fa-th-large { + font-size: 26px !important; + color: $primary-color !important; + margin-top: 10px; +} + +.cybro-main-menu a.dropdown-item.o_app { + position: relative; +display: flex; + align-items: center; + gap: 10px; font-size: 15px; + text-transform: capitalize; + padding: 15px !important; + letter-spacing: 0; + font-weight: 400; + padding-left: 32px !important; +} + + +.dropdown-item.active, .dropdown-item:active { + color: $bg-white !important; + background: $hover-color !important; +} + +img.cybro-menuicon { + width: 28px; + margin-right: 10px; +} + +/*//Menu Bar*/ +/*Top bar*/ +.o_main_navbar { + position: relative; + height: 60px; + padding-top: 0px; + border-bottom: 1px solid $border-light; + color: $bg-white !important; + background-color: $primary-color-dark; +} + +.o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label { + height: 46px !important; + padding: 0 10px !important; + color: $bg-white !important; + line-height: 46px !important; + transition: .3s all ease !important; +} + +.o_main_navbar > ul > li > a:hover, .o_main_navbar > ul > li > label:hover { +// background: none !important; + border: none; + color: $text-color-dark !important; +} + +.o_main_navbar > a:hover, .o_main_navbar > a:focus, .o_main_navbar > button:hover, .o_main_navbar > button:focus { + background: none; + color: inherit; + color: $text-color-dark !important; +} + +.o_main_navbar .show .dropdown-toggle { + background-color: $bg-white !important; + color: $primary-color !important; +} + +.o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_sections .dropdown-toggle{ +background: none; +} + +li.o_user_menu a.dropdown-toggle { + display: -webkit-box; + display: -ms-flexbox; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0px 38px; + color: $bg-white !important; + height: 60px; + ffont-size: 14px; + font-family: 'Roboto', sans-serif; + margin-top: -5px !important; +} + +.o_user_menu a.dropdown-toggle:hover { + border: none; + color: $text-color-dark !important; +} + +.o_main_navbar .o_user_menu .oe_topbar_avatar { + height: 35px; + transform: translateY(-2px); + margin-right: 9px; +} + +.dropdown-menu a:hover { + color: $primary-color !important; +// background: $bg-white !important; +} +select > option { +color:$text-color-dark; +} + +.cybro-main-menu a:hover { + color: $bg-white !important; +// background: $hover-color !important; +} + +.btn-primary { + color: $bg-white; + background-color: $primary-color; + border-color: $primary-color; +} + +.btn { + display: inline-block; + font-weight: 300; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + border-top-color: transparent; + border-right-color: transparent; + border-bottom-color: transparent; + border-left-color: transparent; + padding: .429rem 1rem; + font-size: 1rem; + line-height: 1.571429; + border-radius: .215rem; + border-top-left-radius: 0.215rem; + border-bottom-left-radius: 0.215rem; + -webkit-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out; + -o-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; + transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):after { + content: " "; + display: block; + position: absolute; + top: 0; + left: auto; + bottom: auto; + right: -10px; + border-top: 19px solid transparent; + border-bottom: 23px solid transparent; + border-right: none; + border-left: 11px solid $bg-white; + transition: border 0.2s ease 0s; + -moz-transform: scale(0.9999); +} + +.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled { + color: $primary-color; + font-size: 11px; + background-color: $ui-disabled-bg; + cursor: default; +} + +.o_control_panel { + border-bottom: 1px solid $border-light; +} + +.o_form_view .o_form_statusbar { + border-bottom: 1px solid $border-light; +} + +.o_mail_systray_item .o_notification_counter { + background: $notification-bg; +// box-shadow: 0px 0px 2px -1px $text-color-dark; +} + +.o_MessagingMenu .o_MessagingMenu_counter { + background: $notification-bg; +} + +.o_searchview .o_searchview_facet .o_searchview_facet_label { + background-color: $primary-color !important; +} + +.o_searchview .o_searchview_input { + border: none !important; + padding: 4px 0 0 0; +} + +.o_searchview { + + width: 96%; + display: block; + font-size: 1rem; + line-height: 1.571429; + color: $text-color-light; + background-color: $bg-white; + background-image: none; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid $border-input; + border-top-color: $border-input; + border-right-color: $border-input; + border-bottom-color: $border-input; + border-left-color: $border-input; + border-radius: .215rem; + border-top-right-radius: 0.215rem; + border-bottom-right-radius: 0.215rem; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075); + -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + +} +// 15s// +.o_searchview_more { + position: absolute; + top: 0px !important; + left: auto; + bottom: auto; + right: 0px !important; + color: $bg-white; + padding: 13px; + background: $primary-color-dark; +} + +.ui-autocomplete .ui-menu-item > a, .show .dropdown-menu .dropdown-item, .show .dropdown-menu .dropdown-header, .navbar-nav .show .dropdown-menu .dropdown-item, .navbar-nav .show .dropdown-menu .dropdown-header { + padding: 3px 20px; + transition: 0s !important; +} + +.ui-autocomplete .ui-menu-item > a:hover { + display: block; + color: $bg-white !important; +} + +.o_searchview_facet { + border-radius: 30px; + border: none !important; + margin: 6px 3px 6px 0 !important; +} + +// .o_navbar_apps_menu{ +// margin-left: 20px; +// margin-top: 12px; +// padding-left: 10px; +// padding-right: 10px; +// +// } + +.o_facet_values { + display: flex; + justify-content: center; + align-items: center; + border-radius: 30px !important; + background: $bg-white; + border-top-left-radius: 0px !important; + border-bottom-left-radius: 0px !important; +} + +span.o_searchview_facet_label { + border-radius: 30px; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + padding: 3px 12px !important; +} + +.o_facet_values span { + padding: 0 2px 0 0px; + font-size: 12px; +} + +/*controll panel*/ + +// .o_control_panel { +// display: flex; +// flex-flow: row wrap; +// border-bottom: 1px solid darken($o-control-panel-background-color, 20%); +// @include o-webclient-padding($top: 10px, $bottom: 10px); +// background-color: $o-control-panel-background-color; +// +// > .breadcrumb { +// width: 50%; +// } +// +// &.o_breadcrumb_full > .breadcrumb { +// width: 100%; +// } +// +// > .o_cp_searchview { +// width: 40%; +// min-height: $o-cp-breadcrumb-height; +// } +// > .o_cp_left { +// display: flex; +// justify-content: space-between; +// width: 50%; +// margin-top: 5px; +// } +// > .o_cp_right { +// display: flex; +// width: 60%; +// margin-top: 5px; +// } +// } +// +.o_control_panel hr { + flex-basis: 100%; + background: $bg-control-panel-hr; +} + +.o_control_panel span.o_pager_counter { + font-size: 12px; +} + +.o_control_panel nav.o_cp_pager span.btn-group { + font-size: 12px !important; +} + +.o_control_panel button.fa.fa-chevron-left.btn.btn-secondary.o_pager_previous { + font-size: 12px; + padding-right: 4px; + padding-left: 5px; + padding-bottom: .8rem !important; + padding-top: .8rem !important; +} + +.o_control_panel button.fa.fa-chevron-right.btn.btn-secondary.o_pager_next { + font-size: 12px; + padding-left: 5px; + padding-right: 5px; + padding-bottom: .8rem !important; + padding-top: .8rem !important; +} + +.o_control_panel button.btn.btn-secondary.fa { + padding: 11px; + padding-bottom: .8rem !important; + padding-top: .8rem !important; + +} + +.o_control_panel button.o_dropdown_toggler_btn.btn.btn-secondary.dropdown-toggle { + margin-right: 8px; + padding: 1rem 1rem; + font-size: 12px; + border: 1px solid $border-input; +} + +.o_control_panel .o_cp_left { + justify-content: flex-end; +} + +.o_control_panel button.btn.btn-secondary.o_button_import { + border: 1px solid $primary-color; +} +// +.o_control_panel .btn-secondary:not(:disabled):not(.disabled):active, .o_control_panel .btn-secondary:not(:disabled):not(.disabled).active, .o_control_panel .show > .btn-secondary.dropdown-toggle { + color: $primary-color; + background-color: $bg-white; + border-color: $primary-color; +} + +.o_control_panel .btn-secondary:hover { + color: $text-color-gray; + background-color: $bg-white; + border-color: $primary-color; +} + +/*//Controll panel*/ +.o_calendar_container .o_calendar_sidebar_container .ui-datepicker table .ui-state-active { + background: none; + background-color: $primary-color; + color: $bg-white; +} + +.o_calendar_container .o_calendar_sidebar_container .ui-datepicker table .ui-state-default:hover { + background: none; + background-color: rgb(254, 98, 67); + border-color: $primary-color; + color: $bg-white; +} + +/*form header*/ +.o_control_panel.o_breadcrumb_full .o_cp_right { + order: 2; + width: auto; +} + +.o_control_panel.o_breadcrumb_full hr { + flex-basis: 0; +} + +.o_control_panel.o_breadcrumb_full ol.breadcrumb { + order: 1; +} + +.o_control_panel.o_breadcrumb_full .o_cp_left { + order: 3; + width: 58%; + justify-content: space-between; +} + +.o_control_panel.o_breadcrumb_full { + justify-content: space-between; +} + +.o_control_panel.o_breadcrumb_full .o_cp_buttons { + order: 2; +} + +.o_control_panel.o_breadcrumb_full aside.o_cp_sidebar { + order: 1; +} + +/*//Form Header*/ +.ui-autocomplete .ui-menu-item.ui-state-focus { + background-color: $primary-color; + color: $bg-white !important; +} + +.btn-group.o_date_range_buttons.d-none.d-md-inline-flex.float-right { + float: left !important; + margin-bottom: 5px; +} + +.btn-group.d-none.d-md-inline-block.float-right { + float: left !important; +} + +a.btn.btn-primary { + color: $bg-white !important; +} +.btn:hover{ + background-color: $primary-color-dark; +} + +.btn-primary:hover { + background: #488eec !important; + border-color: #488eec; +} + +.oe_kanban_card.oe_kanban_global_click.o_kanban_record { + box-shadow: 1px 3px 12px 1px $shadow-kanban; + margin-right: 8px; + padding: .8rem 1rem; + font-size: 12px; + border: none !important; +} + +.o_view_controller { + background: $bg-white; +} + +.o_field_widget.badge.badge-primary { + background: $primary-color; + padding: 5px 8px; + border-radius: 0px !important; +} + +.clearfix.o_form_sheet { + box-shadow: 1px 3px 12px 1px $shadow-kanban; + border: none !important; +} + +.o_form_sheet_bg { + background: $bg-white !important; +} + +ul.nav.nav-tabs li.nav-item a { + padding: 1rem 1rem; +} + +.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { + color: $primary-color !important; + background-color: $bg-white; + border: 1px solid $primary-color; + border-bottom: 0; +} + +.o_form_view .o_horizontal_separator { + color: $text-color-dark !important; + font-weight: 500 !important; +} + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + border-radius: 10px; + background-color: $bg-scrollbar-track; + position:relative; + width: 5px; +} + +::-webkit-scrollbar { + width: 5px; + background-color: $bg-scrollbar-track; + position:absolute; +} + +::-webkit-scrollbar-thumb { + border-radius: 0px; + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + background-color: $scrollbar-thumb; +} + +.o_Discuss_content .o_ThreadView .o_Discuss_thread { + background: $bg-discuss; +} + +.o_MessageList { + background: $bg-discuss;; +} + +.o_Message { + background: $bg-discuss;; +} + +.o_widget_Discuss .o_Discuss .o_DiscussSidebar { + border-top: 1px solid $border-discuss; +} +.o_Discuss .o_Discuss_content { + background-color: $bg-white; +} + +.o_Discuss .o_DiscussSidebar { + background-color: $bg-white; + width: 250px; + color: $text-color-dark; +// box-shadow: 13px 9px 21px 20px $bg-discuss; +// box-shadow: 12px 0px 4px 6px $text-color-dark; +} + +// .o_DiscussSidebarItem.o-active { +// background-color: $ui-discuss-sidebar; +// box-shadow: 1px 3px 12px 1px #e5e0f3d4; +// } + +.o_DiscussSidebar_item { + padding: 1rem 16px !important; + margin-bottom: 2px; +} + +.o_DiscussSidebarItem:hover { + background-color: $bg-white; + color: $primary-color; +} + +.o_DiscussSidebarItem_activeIndicator.o-item-active { + background-color: $ui-discuss-sidebar; +} + +.o_DiscussSidebarItem.o_DiscussSidebar_item.o-active { + background-color: $ui-discuss-sidebar; + box-shadow: inset 3px 0 0 $primary-color; +} + +.o_DiscussSidebar_groupHeaderItem:hover { + color: $primary-color; +} + +.o_DiscussSidebarItem_commandSettings { + opacity: .5 !important; +} + +.o_DiscussSidebarItem_commandRename { + opacity: .5 !important; +} + +.o_Discuss .o_DiscussSidebar .o_DiscussSidebar_groupHeader .o_add:hover, .o_Discuss .o_DiscussSidebar .o_DiscussSidebar_groupHeader .o_add:focus, .o_Discuss .o_DiscussSidebar .o_DiscussSidebar_groupHeader .o_add.focus { + color: $primary-color; +} + +select { + border-radius: 0 !important; + height: 37px; +} + +.o_field_monetary.o_field_number.o_input.o_field_widget.o_required_modifier { + border-radius: 0; + height: 43px; + background: black !important; +} + +.datepicker .table-sm > tbody > tr > td.active, .datepicker .table-sm > tbody > tr > td .active { + background-color: $primary-color; + border-radius: 0 !important; +} + +.datepicker .table-sm > thead > tr > th { + border-radius: 0; +} + +.datepicker .table-sm > thead { + color: $bg-white; + background-color: $primary-color; +} + +.datepicker .table th, .datepicker .table td { + vertical-align: top; + border-top: 1px solid $bg-white; +} + +i.fa { + color: $text-color-gray !important; +} + +.dropdown-menu.cybro-main-menu.show { + padding: 0 !important; + width: 240px !important; + top: 52px !important; + border-radius: 20px !important; + z-index: 5000px; +} + +a.dropdown-item.o_app.cybro-mainmenu { + width: 100% !important; + text-align: left !important; + display: flex; + justify-content: flex-start !important; + align-items: center !important; + flex-direction: row !important; + padding: 1rem 1rem 1rem 2rem !important; +} + +.o_menu_apps .dropdown-menu.show .o-app-icon { + max-width: 2rem !important; + margin-right: 11px; +} + +.cybro-main-menu .input-group { + order: 2; +} + +.cybro-main-menu input.form-control { + outline: none !important; + display: block; + padding: .429rem 1rem; + font-size: 1rem; + line-height: 1.571429; + color: $text-color-light; + font-size: 12px !important; + background-color: $bg-white; + background-image: none; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid $border-input; + border-top-color: $border-input; + border-right-color: $border-input; + border-bottom-color: $border-input; + border-left-color: $border-input; + border-radius: .215rem; + border-top-right-radius: 0.215rem; + border-bottom-right-radius: 0.215rem; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075); + -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; + &::placeholder{ + color: $text-color-dark !important; + } +} + +.cybro-main-menu .input-group-prepend { + order: 2; +} + +.cybro-main-menu .input-group-prepend { + color: $bg-white; + background-color: $primary-color-dark; + border-color: $primary-color-dark; + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 3px !important; + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.cybro-main-menu .search-input .input-group { + background-color: $bg-white !important; + box-shadow: none; +} + +.o_menu_apps .dropdown-menu .search-container .search-input .input-group { + box-shadow: none; +} + +.o_menu_apps .dropdown-menu .search-container .search-input .input-group input.form-control { + color: $text-color-light !important; + background-color: $bg-white !important; + padding-left: 10px; +} + +.search-input.col-md-10.ml-auto.mr-auto.mb-2 { + margin: 0 !important; + width: 100%; +} + +.cybro-main-menu a.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto { + padding-left: 30px !important; + font-size: 12px; + text-align: left !important; + width: 100%; + padding-right: 0px !important; + flex-wrap: wrap; + word-break: normal; + color: $text-color-light !important; + max-width: 300px; + overflow-x: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.cybro-main-menu .search-results.col-md-10.ml-auto.mr-auto { + background: $bg-white; + margin: 0px 0 !important; + color: $text-color-light !important; + flex: 100% !important; + max-width: 100%; + width: 100%; +} +.sidebar-menus > li { + margin-bottom: 25px; +} +.sidebar-menus > li:last-child { + margin-bottom: 25px; +} +.o_menu_apps .dropdown-menu.show .form-row { + width: 100%; + margin: 10px 0px 0px 0px !important; + padding-left: 10px; + padding-right: 10px; + padding-top: 10px; +} + +.o_kanban_record { + border: none !important; + box-shadow: 2px 4px 8px 2px rgba(67, 54, 251, .1) !important; +} +.o_menu_apps .dropdown-menu .search-container .search-input .input-group .input-group-prepend span.fa { + color: $bg-white !important; + font-size: 1.08333333rem; + margin-right: 1rem; + padding-top: 3px; + padding-left: 8px; +} + + +.o_mail_discuss .o_mail_discuss_sidebar .o_mail_discuss_item.o_unread_message { + color: $text-color-discuss !important; +} + +.o_mail_discuss .o_mail_discuss_sidebar .o_mail_discuss_item > .badge { + color: $bg-white; + background-color: $primary-color !important; +} + +.o_onboarding.o_onboarding_blue .o_onboarding_wrap { + background: $primary-color !important; + color: $bg-white; +} + +.o_onboarding_step_title .mt16 a { + color: $bg-white !important; +} + +h4.o_onboarding_step_title.mt16 a { + color: $bg-white !important; +} + +.o_onboarding_step_content_info p { + color: #ececec !important; +} + +.btn-info { + color: $bg-white !important; + background-color: $btn-info-bg; + border-color: $btn-info-bg; +} +.fa.fa-bars { + color: $bg-white !important; +} +.o_main_navbar > .o_menu_brand { + display: block; + float: left; + margin-right: 35px; + user-select: none; + color: $bg-white; + font-size: 15px; + font-weight: 400; + line-height: 46px; + cursor: pointer; + color: $bg-white !important; +} +.o_menu_systray li a i { + color: $bg-white !important; +} +.o_mail_systray_item.o_no_notification > a { + opacity: 1; +} +.dropdown-menu.cybro-main-menu.show { + transition: all .5s; + width: 260px; + min-height: 400px; + max-height: 760px; + background: $bg-white; + color: rgba(163,175,183,.9); + font-family: Roboto,sans-serif; + -webkit-box-shadow: 3px 0 6px 0 rgba(0,0,0,.05),3px 0 15px 0 rgba(0,0,0,.1); + box-shadow: 3px 0 6px 0 rgba(0,0,0,.05),3px 0 15px 0 rgba(0,0,0,.1); + -ms-transform: translate(-240px,0); + -webkit-transform: translate3d(-240px,0,0); + transform: translate3d(-240px,0,0); + scrollbar-width: thin; +} +.cybro-main-menu a.dropdown-item.o_app:hover { + + color: $text-color-medium !important; + background-color: $hover-color !important; + +} +.dropdown-menu.cybro-main-menu .search-input { + flex: 0 0 100% !important; + max-width: 100% !important; +} +.btn-primary { + color: $bg-white; + background-color: $primary-color-dark; + border-color: $primary-color-dark; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-primary.focus, .btn-primary.hover, .btn-primary:focus, .btn-primary:hover { + color: $bg-white; + background-color: #589ffc; + border-color: #589ffc; + -webkit-box-shadow: none; + box-shadow: none; +} +.fa.fa-search { + color: $bg-white !important; +} +/*Placholder*/ +::-webkit-input-placeholder { + color: $text-color-light; + font-size: 12px; +} +::-moz-placeholder { + color: $text-color-light; + font-size: 12px; +} +:-ms-input-placeholder { + color: $text-color-light; + font-size: 12px; +} +::placeholder { + color: $text-color-light; + font-size: 12px; +} +/*//place holder*/ +.form-control { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + height: 2.573rem; + font-weight: 100; + border-color: $border-input; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: -webkit-box-shadow .25s linear,border .25s linear,color .25s linear,background-color .25s linear; + -o-transition: box-shadow .25s linear,border .25s linear,color .25s linear,background-color .25s linear; + transition: box-shadow .25s linear,border .25s linear,color .25s linear,background-color .25s linear; + -webkit-appearance: none; + -moz-appearance: none; +} +.form-control.focus, .form-control:focus { + border-color: $primary-color-dark; + -webkit-box-shadow: none; + box-shadow: none; +} +.o_searchview .o_searchview_autocomplete li.o-selection-focus { + background-color: $bg-white !important; +} +.o_mail_discuss .o_mail_discuss_sidebar .o_mail_discuss_item.o_active { + background-color: $ui-discuss-active; + box-shadow: inset 3px 0 0 $primary-color; +} +.o_control_panel > .o_cp_right { + display: -webkit-box; + display: -webkit-flex; + display: flex; + width: 60%; + margin-top: 1px; +} + +i.fa.fa-plus { + color: $bg-white !important; +} +.o_onboarding.o_onboarding_violet .o_onboarding_wrap { + background-color: rgba(77, 98, 172, 0.75); + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(96, 112, 195, 0.5)), to(#475DA4)); + background-image: -moz-linear-gradient(top, rgba(96, 112, 195, 0.5), #475DA4); + background-image: -ms-linear-gradient(top, rgba(96, 112, 195, 0.5), #475DA4); + background-image: -o-linear-gradient(top, rgba(96, 112, 195, 0.5), #475DA4); + background-image: linear-gradient(to bottom, rgba(96, 112, 195, 0.5), #475DA4); + box-shadow: inset 0 -7px 20px -5px rgba(0, 0, 0, 0.3); + background: $primary-color; +} +.sidebar-menus { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + flex-direction: column; + padding: 1rem 0; + display: flex; + flex-direction: column; + padding: 1rem; +} +.cybro-sidebar-qweb span.o-app-name { + display: none; +} +.cybro-sidebar-qweb .sidebar-menus { + background: $bg-white; + box-shadow: 2px 1px 5px 0px rgba(103, 103, 103, 0.19); + position: relative; + z-index: 5; + height: 94vh; + //overflow: scroll; + overflow-y: auto; +} +.cybro-sidebar-qweb .sidebar-menus img.o-app-icon { + width: 25px; + border-radius: 100%; + margin-bottom: 14px; +} +.btn-primary .fa { + color: $bg-white !important; +} +.o_required_modifier.o_input, .o_required_modifier .o_input { + background-color: $bg-required-input !important; +} + +.o_field_monetary.o_required_modifier .o_input{ + background-color: transparent !important; +} + + +.o_cp_left { + + position: fixed !important; + bottom: 3px; + z-index: 5; + background: $bg-white; + width: 92.5vw !important; + padding: .5rem 1rem !important; + left: 70px; + +} +button.btn.btn-primary span { + font-weight: 400; +} + +.sidebar-user { + padding: 0; /* Remove all padding */ + width: 100%; + background: transparent; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + margin: 0; /* Remove any margin */ +} + +.sidebar-user img { + width: 140px; /* Professional size */ + height: 140px; /* Professional size */ + border-radius: 3%; + object-fit: cover; + object-position: center; + margin: 0; /* Remove margin */ + background-color: #f8f9fa; + border: 3px solid $bg-white; /* Clean border */ + box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Subtle shadow */ + transition: all 0.3s ease; +} + +.sidebar-user img:hover { + transform: scale(1.05); /* Gentle zoom on hover */ + box-shadow: 0 6px 12px rgba(0,0,0,0.15); /* Enhanced shadow on hover */ +} + +.sidebar-username { + font-size: 16px; + color: $text-color-dark; + text-align: center; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 150px; /* Allow more space for names */ + font-weight: 600; /* Bolder text */ + margin-top: 12px; /* Space between image and name */ + text-shadow: none; /* Remove text shadow */ + letter-spacing: 0.5px; /* Better spacing */ +} + +/* Remove unnecessary elements */ +.sidebar-overlay { + display: none; +} +.sidebar-user span, +.sidebar-user img { + position: static; + z-index: auto; +} + +/* Add a subtle container for better visual separation */ +.sidebar-user::after { + content: ""; + display: block; + width: 80%; + height: 1px; + background: #e0e0e0; + margin-top: 15px; +} + +i.fa.fa-ellipsis-v { + color: $bg-white !important; +} +.o_web_client .o_mobile_search .o_mobile_search_header { + height: 46px; + margin-bottom: 10px; + width: 100%; + background-color: $primary-color; + color: $bg-white; +} +.btn-secondary { + font-weight: 500; +} +.btn-secondary.disabled, .btn-secondary:disabled { + color: $text-color-dark; + background-color: $bg-white; + border-color: $bg-white; + font-weight: 500 !important; +} +button.btn.btn-secondary.o_mail_discuss_button_mark_all_read.disabled.d-none.d-md-inline-block { + font-weight: 600 !important; + color: $text-color-dark !important; + border: 1px solid $text-color-gray; +} +.btn-secondary { + font-weight: 500; + border: 1px solid $border-input; +} +aside.o_cp_sidebar button.o_dropdown_toggler_btn.btn.btn-secondary.dropdown-toggle { + background: $primary-color; + color: $bg-white; +} +aside.o_cp_sidebar button.o_dropdown_toggler_btn.btn.btn-secondary.dropdown-toggle { + margin-right: 8px; + padding: 6px 9px !important; + font-size: 12px; + border: 1px solid $border-input; + border-radius: 5px; +} + +aside.o_cp_sidebar button.o_dropdown_toggler_btn.btn.btn-secondary.dropdown-toggle .fa{ + color: $bg-white !important; +} +.o_cp_buttons { + order: 2; +} +.o_control_panel.o_breadcrumb_full aside.o_cp_sidebar { + order: 1; +} +.o_control_panel.o_breadcrumb_full .o_cp_left { + order: 3; + width: 58%; + justify-content: space-between; + padding: 10px 55px !important; +} +.o_cp_left { + box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.3); +} +@media (min-width: 1200px) { + .o_mail_discuss .o_mail_discuss_content { + margin-left: 218px !important; + } + .o_mail_discuss .o_mail_discuss_sidebar { + width: 218px; + } +} + +@media (min-width: 767px) { + ul.o_menu_sections.collapse.show { + margin-top: 24px !important; + } + .o_web_client .o_mobile_search .o_mobile_search_header { + height: 46px; + margin-bottom: 10px; + width: 100%; + background-color: $primary-color !important; + color: $bg-white; + } + .o_searchview { + padding-right: 0 !important; + padding-left: 5px !important; + } + + button.o_enable_searchview.btn.fa.fa-search { + float: right !important; + height: 39px !important; + width: 33px !important; + background: $primary-color !important; + color: $bg-white !important; + border-top-right-radius: 30px !important; + border-bottom-right-radius: 30px !important; + } + .o_control_panel .btn.o_enable_searchview { + margin-left: 2%; + padding: 0px; + float: right; + background: $bg-white; + margin-right: -43px; + height: 40px; + border-top-right-radius: 20px; + margin-top: -1px; + border: 1px solid $bg-discuss; + padding: 11px; + border-bottom-right-radius: 20px; + } +} +@media (max-width: 767px) { + .cybro-sidebar { + display: none; + } + .o_cp_left { + position: static !important; + bottom: 0px; + z-index: 0; + background: $bg-white; + width: auto; + padding: 0 !important; +} + .o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label { + color: $text-color-dark !important; + font-weight: 300; +} + .o_web_client .o_mobile_search .o_mobile_search_header .fa{ + color: $bg-white !important; +} + .oe_website_login_container { + padding: 1rem 1rem 5rem; + background: $bg-light-gray; +} + .oe_login_form, .oe_signup_form, .oe_reset_password_form { + max-width: 99%; + position: relative; + margin: 50px auto; + border-radius: 7px; + padding: 3rem; + background: $bg-white; + box-shadow: 0 0 11px 0px $shadow-login; +} +} +.cybro-sidebar { + position: relative; +} +.cybro-sidebar-qweb { + position: absolute; + width: auto; +} +// .o_action_manager { +// padding-left: 67px; +// } +.o_cp_top { + width: 100%; +} +.o_cp_bottom { + width: 100%; +} +.o_DiscussSidebarItem_counter { + background: $primary-color !important; + color: $bg-white !important; +} +.row.theme_main_color .color { + width: 30px; + height: 30px; + cursor: pointer; +} +li::marker { + content: ""; +} +.search-results .search_icons{ +margin-bottom: 10px; +} + +.search-results .search_icons:last-child{ + margin-bottom: 10px; +} + + +.search_icons .o-menu-search-result{ + background-repeat: no-repeat; + background-size: contain; +} + +.search-input .input-group-text{ + background: transparent; + border: none; +} + +.search-input .input-group-prepend{ +display: flex; + align-items: center; + justify-content: center; +} + +.o-checkbox.form-check{ +align-items: center; + justify-content: center; + padding-left: 10px; +} +.o-checkbox .form-check-input { + width: 16px !important; + height: 16px !important; +appearance: auto; +} +thead .o_list_record_selector { + padding-left: 13px !important; +} +.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled:not(.o_arrow_button_current){ +background-color:$ui-disabled-bg !important; +} +.o_field_statusbar > .o_statusbar_status > .o_arrow_button.o_arrow_button_current:not(.d-none):disabled{ +background-color:$primary-color-dark; +border-color:$ui-disabled-bg !important; +color: $bg-white; +} +.o_loading_indicator{ +background-color:$primary-color-dark; + +} +.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_first):before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_first):before, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_first):after, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_first):after, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_last):before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_last):before, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_last):after, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):not(.o_last):after { +top:0px ; +border-top:22px solid transparent; +} +.o_searchview_facet.bg-200 { + background: transparent !important; +} +.o_filter_menu .fa.fa-filter{ +color:$primary-color-dark !important; +} +.o_group_by_menu .oi.oi-group{ +color:$primary-color-dark !important; +} +.o_field_statusbar > .o_statusbar_status > .o_arrow_button.o_arrow_button_current:not(.d-none):disabled:after{ +border-left-color:$primary-color-dark !important; +} +.dropdown-menu.d-block.p-0.o-mail-DiscussSystray{ +top: 58.5px !important; +} +.o-dropdown--menu.dropdown-menu.d-block +{ +top:109x !important; +} +.o-dropdown.dropdown.o_user_menu.d-none.d-md-block.pe-0.o-dropdown--no-caret.show{ + margin-right: 10px; +} +.o_menu_sections a{ +color:$bg-white !important; +} + +.o_menu_systray i.fa{ +color:$bg-white !important; +} +.o_menu_systray .show i.fa{ +color:$primary-color !important; +} +.o_datetime_picker_header .o_datetime_button{ +background-color:$primary-color-dark; +} +.o_datetime_button .o_header_part{ +color:$bg-white; +} +.o_datetime_picker_header .o_next{ +background-color:$primary-color-dark; +color:$bg-white; + +} +.o_datetime_picker_header .o_previous{ +background-color:$primary-color-dark; +color:$bg-white; + +} +header .o-dropdown--menu .dropdown-item:not(.disabled):not(:disabled),{ +color:$text-color-dark !important; +} +.o_input_dropdown .ui-autocomplete .ui-menu-item > a:hover { +color:$primary-color !important; +} +.o_calendar_filter_items .o-checkbox.form-check{ +padding-left: 25px !important; +} + + +// Sidebar container +.cybro-sidebar-qweb { + top: 0; + width: 70px; /* Collapsed width */ + height: 100vh; + background: linear-gradient( 90deg, rgb( 69, 75, 102 ) 0%, rgba( 69, 75, 102, 0.9 ) 100%) !important; + z-index: 1000; + transition: width 0.3s ease; + box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2); + display: flex; + flex-direction: column; + overflow: hidden; + + &:hover { + width: 240px; /* Expanded width */ + background: linear-gradient(65deg, #4a5170 0%, #424865 25%, #3a3f5a 50%, #2a2e42 75%, #32374d 100%) !important; + + + .o-app-name { + display: block; + } + + .sidebar-companyname { + display: block; + } + + .sidebar-header { + background-color: $primary-color-dark; + } + + } +} + +// User profile section +.sidebar-header { + height: 60px; + padding: 10px 13px; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + background-color: #343a4f; // darker header strip + overflow: hidden; + flex-shrink: 0; /* Prevents shrinking */ + position: sticky; /* Keeps it in place */ + z-index: 1; +} + +.sidebar-company { + display: flex; + align-items: center; + padding: 0; + + img { + width: 40px; + height: 40px; + border-radius: 50%; + object-fit: cover; + } + + .sidebar-companyname { + margin-left: 15px; + color: #ffffff; // white company name + font-size: 19px; + font-weight: 600; + white-space: nowrap; + display: none; /* Hidden by default */ + } +} + +// Menu items +.sidebar-main-menus { + padding: 15px 0; + display: flex; + flex-direction: column; + overflow-y: auto; + flex: 1; + + > li { + margin-bottom: 5px; + + a.dropdown-item.o_app { + display: flex; + align-items: center; + padding: 12px 15px; + color: rgba(255, 255, 255, 0.7); // normal text color + border-radius: 0; + transition: all 0.2s ease; + + &:hover, + &:focus { + background: rgba(255, 255, 255, 0.1); // hover bg + color: #ffffff; // white on hover + } + + &.active { + background: #ffffff; // white block + color: #454a5e; // active text/icon color + font-weight: 500; + } + } + } +} + +// App icon and name container +.app-icon-container { + display: flex; + align-items: center; + width: 100%; +} + +// App icons +.o-app-icon { + width: 24px; + height: 24px; + border-radius: 6px; + margin-right: 15px; + flex-shrink: 0; +} + +// App names (hidden by default) +.o-app-name { + display: none; /* Hidden by default */ + white-space: nowrap; + font-size: 14px; + color: #ffffff; // text always white unless active +} + +// Adjust main content area +.o_action_manager { + margin-left: 70px; /* Same as collapsed sidebar width */ + transition: margin-left 0.3s ease; +} + +// When sidebar is expanded, adjust content +.cybro-sidebar-qweb:hover ~ .o_action_manager { + margin-left: 240px; /* Same as expanded sidebar width */ +} + +// Ensure top navbar adjusts to sidebar +.o_main_navbar { + margin-left: 70px; + transition: margin-left 0.3s ease; +} + +.cybro-sidebar-qweb:hover ~ .o_main_navbar { + margin-left: 240px; +} diff --git a/third_party_addons/dodger_blue/static/src/xml/sidebar_menu_icon_templates.xml b/third_party_addons/dodger_blue/static/src/xml/sidebar_menu_icon_templates.xml new file mode 100644 index 000000000..98b42246c --- /dev/null +++ b/third_party_addons/dodger_blue/static/src/xml/sidebar_menu_icon_templates.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + +
+ + +
+
+
+
diff --git a/third_party_addons/dodger_blue/views/ir_menu.xml b/third_party_addons/dodger_blue/views/ir_menu.xml new file mode 100644 index 000000000..13497c9a6 --- /dev/null +++ b/third_party_addons/dodger_blue/views/ir_menu.xml @@ -0,0 +1,16 @@ + + + + + + base_edit_menu_access_inherit_form + ir.ui.menu + + + + + + + + + \ No newline at end of file diff --git a/third_party_addons/dodger_blue/views/login_templates.xml b/third_party_addons/dodger_blue/views/login_templates.xml new file mode 100644 index 000000000..041adfc11 --- /dev/null +++ b/third_party_addons/dodger_blue/views/login_templates.xml @@ -0,0 +1,28 @@ + + + + + +