forked from alaguraj/odoo-testing-addons
basic theme ui updated all pages
This commit is contained in:
parent
7ffe724569
commit
ea4bd36348
@ -8,13 +8,21 @@
|
||||
'data': [
|
||||
'views/home_template.xml',
|
||||
'views/login_templates.xml',
|
||||
'views/web_title_template.xml',
|
||||
],
|
||||
'assets': {
|
||||
'web.assets_common': [
|
||||
'web.assets_backend': [
|
||||
'home_dashboard/static/src/css/theme_variables.css',
|
||||
'home_dashboard/static/src/css/home_menu.css',
|
||||
'home_dashboard/static/src/js/chennora_title.js',
|
||||
],
|
||||
'web.assets_frontend': [
|
||||
'home_dashboard/static/src/css/theme_variables.css',
|
||||
'home_dashboard/static/src/css/login_style.css',
|
||||
],
|
||||
'web.assets_common': [
|
||||
'home_dashboard/static/src/css/theme_variables.css',
|
||||
],
|
||||
},
|
||||
'installable': True,
|
||||
'application': True,
|
||||
|
||||
@ -92,58 +92,76 @@
|
||||
}
|
||||
|
||||
.o_home_top_bar {
|
||||
position: absolute !important;
|
||||
top: 15px !important;
|
||||
right: 30px !important;
|
||||
position: fixed !important;
|
||||
top: 25px !important;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex !important;
|
||||
justify-content: center !important;
|
||||
z-index: 1000 !important;
|
||||
}
|
||||
|
||||
.o_top_bar_island {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
gap: 15px !important;
|
||||
color: #444 !important;
|
||||
z-index: 100 !important;
|
||||
gap: 12px !important;
|
||||
padding: 10px 25px !important;
|
||||
background: rgba(255, 255, 255, 0.7) !important;
|
||||
backdrop-filter: blur(15px) !important;
|
||||
-webkit-backdrop-filter: blur(15px);
|
||||
border-radius: 50px !important;
|
||||
border: 1px solid rgba(255, 255, 255, 0.4) !important;
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
|
||||
}
|
||||
|
||||
.o_top_icon {
|
||||
font-size: 18px !important;
|
||||
cursor: pointer !important;
|
||||
opacity: 0.6 !important;
|
||||
transition: all 0.2s !important;
|
||||
position: relative !important;
|
||||
.o_top_item {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #4a5568 !important;
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.o_top_icon:hover {
|
||||
opacity: 1 !important;
|
||||
transform: scale(1.1) !important;
|
||||
.o_top_item:hover {
|
||||
color: #2bb1a5 !important;
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
|
||||
.o_bar_divider {
|
||||
width: 1px;
|
||||
height: 24px;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.o_ai_icon {
|
||||
background: linear-gradient(to bottom right, #fecd4f, #ffd970, #2bb1a5) !important;
|
||||
font-weight: 800;
|
||||
background: linear-gradient(135deg, #fecd4f, #2bb1a5) !important;
|
||||
-webkit-background-clip: text !important;
|
||||
background-clip: text !important;
|
||||
-webkit-text-fill-color: transparent !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
.badge_dot {
|
||||
position: absolute !important;
|
||||
top: -2px !important;
|
||||
right: -2px !important;
|
||||
width: 8px !important;
|
||||
height: 8px !important;
|
||||
background: var(--primary-color, #fecd4f) !important;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #fecd4f !important;
|
||||
border-radius: 50% !important;
|
||||
border: 1px solid white !important;
|
||||
border: 2px solid white !important;
|
||||
}
|
||||
|
||||
.o_user_avatar {
|
||||
width: 30px !important;
|
||||
height: 30px !important;
|
||||
border-radius: 50% !important;
|
||||
background: linear-gradient(135deg, var(--primary-color, #fecd4f) 0%, var(--secondary-color, #2bb1a5) 100%) !important;
|
||||
width: 35px !important;
|
||||
height: 35px !important;
|
||||
border-radius: 12px !important;
|
||||
background: linear-gradient(135deg, #fecd4f, #2bb1a5) !important;
|
||||
color: white !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
font-weight: 600 !important;
|
||||
font-size: 11px !important;
|
||||
box-shadow: 0 2px 5px rgba(254, 205, 79, 0.3) !important;
|
||||
font-weight: bold !important;
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
/* ========================================
|
||||
ODOO THEME COLOR VARIABLES
|
||||
Primary Color: #fecd4f (Golden Yellow)
|
||||
Secondary Color: #2bb1a5 (Teal)
|
||||
======================================== */
|
||||
|
||||
:root {
|
||||
@ -10,76 +11,434 @@
|
||||
--primary-light: #ffd970;
|
||||
--primary-lighter: #ffe599;
|
||||
|
||||
/* Secondary/Accent Color */
|
||||
/* Secondary/Accent Color - Used in Gradients */
|
||||
--secondary-color: #2bb1a5;
|
||||
--secondary-dark: #259a8f;
|
||||
--secondary-light: #4dc4b8;
|
||||
|
||||
/* Gradient Combinations */
|
||||
--gradient-primary: linear-gradient(135deg, #fecd4f 0%, #ffd970 100%);
|
||||
--gradient-primary-secondary: linear-gradient(135deg, #fecd4f 0%, #2bb1a5 100%);
|
||||
--gradient-secondary-primary: linear-gradient(to right, #2bb1a5, #fecd4f);
|
||||
/* Gradient Combinations - Matching Login Page */
|
||||
--gradient-primary: linear-gradient(135deg, #2bb1a5 0%, #fecd4f 100%);
|
||||
--gradient-primary-hover: linear-gradient(135deg, #259a8f 0%, #e5b846 100%);
|
||||
|
||||
/* Home Page Background Gradient */
|
||||
--bg-gradient-main: linear-gradient(135deg, #8fe0d6 0%, #ffecb5 100%);
|
||||
|
||||
/* UI Element Colors */
|
||||
--btn-primary-bg: #fecd4f;
|
||||
--btn-primary-hover: #e5b846;
|
||||
--link-color: #fecd4f;
|
||||
--link-color: #2bb1a5;
|
||||
/* Teal for better contrast on white */
|
||||
--link-hover: #e5b846;
|
||||
|
||||
/* Status Colors with Primary Tint */
|
||||
/* Status Colors */
|
||||
--success-color: #2bb1a5;
|
||||
--warning-color: #fecd4f;
|
||||
--danger-color: #ff5e62;
|
||||
--info-color: #4dc4b8;
|
||||
|
||||
/* Neutral Colors */
|
||||
--text-primary: #2c3e50;
|
||||
--text-secondary: #4b4b4b;
|
||||
--text-muted: #999;
|
||||
--bg-light: #f0f1f9;
|
||||
--bg-white: #ffffff;
|
||||
--border-color: #eee;
|
||||
|
||||
/* Shadow with Primary Color */
|
||||
--shadow-primary: 0 4px 12px rgba(254, 205, 79, 0.2);
|
||||
--shadow-primary-hover: 0 8px 20px rgba(254, 205, 79, 0.3);
|
||||
/* Shadows */
|
||||
--shadow-primary: 0 4px 15px rgba(43, 177, 165, 0.2);
|
||||
--shadow-primary-hover: 0 8px 20px rgba(43, 177, 165, 0.3);
|
||||
--shadow-card: 0 10px 30px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
/* Apply primary color to common Odoo elements */
|
||||
/* ::selection - Text Selection Color */
|
||||
::selection {
|
||||
background: var(--primary-color) !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/* Scrollbar Styling (Webkit) */
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: var(--secondary-color) !important;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
GLOBAL UI OVERRIDES (HOME PAGE STYLE)
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* Global Background & Font */
|
||||
/* Global Background & Font */
|
||||
body,
|
||||
.o_web_client {
|
||||
background: var(--bg-gradient-main) !important;
|
||||
font-family: 'Inter', 'Segoe UI', Roboto, sans-serif !important;
|
||||
font-size: 15px !important;
|
||||
/* Increased Font Size for Readability */
|
||||
background-attachment: fixed !important;
|
||||
}
|
||||
|
||||
/* Main Content Container - FULL WIDTH (No Floating Card) */
|
||||
.o_action_manager {
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
height: 100vh !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.o_action_manager .o_view_controller {
|
||||
background: #ffffff !important;
|
||||
/* Solid White Canvas */
|
||||
border-radius: 0 !important;
|
||||
/* Remove curvature */
|
||||
box-shadow: none !important;
|
||||
/* Remove shadow */
|
||||
border: none !important;
|
||||
margin: 0 !important;
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
NAVBAR & SIDEBAR (CONTROL PANEL)
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* Top Navbar - Glassmorphism */
|
||||
.o_main_navbar {
|
||||
background: #ffffff !important;
|
||||
border-bottom: 2px solid var(--primary-color) !important;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
|
||||
color: #2c3e50 !important;
|
||||
padding: 0 10px !important;
|
||||
}
|
||||
|
||||
.o_main_navbar .o_menu_brand {
|
||||
color: var(--secondary-color) !important;
|
||||
font-weight: 800 !important;
|
||||
font-size: 1.4rem !important;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
|
||||
.o_main_navbar .o_menu_sections .o_nav_entry,
|
||||
.o_main_navbar .o_menu_systray .o_nav_entry {
|
||||
color: #2bb1a5 !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
.o_main_navbar .o_menu_sections .o_nav_entry:hover,
|
||||
.o_main_navbar .o_menu_systray .o_nav_entry:hover {
|
||||
background: #2bb1a5 !important;
|
||||
/* Subtle Yellow Hover */
|
||||
}
|
||||
|
||||
/* Control Panel (Search, Filter Bar) */
|
||||
.o_control_panel {
|
||||
background: #fdfdfd !important;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
|
||||
padding: 20px 30px !important;
|
||||
/* More spacious */
|
||||
}
|
||||
|
||||
/* Breadcrumbs */
|
||||
.breadcrumb-item a {
|
||||
color: var(--secondary-color) !important;
|
||||
font-weight: 700 !important;
|
||||
font-size: 18px !important;
|
||||
/* Larger headers */
|
||||
}
|
||||
|
||||
.breadcrumb-item.active {
|
||||
color: #718096 !important;
|
||||
font-weight: 600 !important;
|
||||
font-size: 18px !important;
|
||||
}
|
||||
|
||||
/* Search Bar Input */
|
||||
.o_searchview {
|
||||
background: #f8f9fa !important;
|
||||
border: 1px solid #e2e8f0 !important;
|
||||
border-radius: 10px !important;
|
||||
padding: 6px 15px !important;
|
||||
}
|
||||
|
||||
.o_searchview .o_searchview_input {
|
||||
background: transparent !important;
|
||||
font-size: 14px !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
TABLES (LIST VIEW)
|
||||
--------------------------------------------------------- */
|
||||
|
||||
.o_list_view .o_list_table {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/* Table Header */
|
||||
.o_list_view .o_list_table thead {
|
||||
background: rgba(248, 249, 250, 0.8) !important;
|
||||
color: #4a5568 !important;
|
||||
border-bottom: 2px solid var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
.o_list_view .o_list_table thead th {
|
||||
border: none !important;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.75rem;
|
||||
letter-spacing: 0.05em;
|
||||
font-weight: 700 !important;
|
||||
padding: 12px 10px !important;
|
||||
}
|
||||
|
||||
/* Table Rows */
|
||||
.o_list_view .o_list_table tbody tr.o_data_row {
|
||||
transition: all 0.2s ease !important;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
|
||||
}
|
||||
|
||||
.o_list_view .o_list_table tbody tr.o_data_row:hover {
|
||||
background-color: rgba(43, 177, 165, 0.05) !important;
|
||||
/* Light Teal Hover */
|
||||
transform: scale(1.002);
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
KANBAN CARDS
|
||||
--------------------------------------------------------- */
|
||||
|
||||
.o_kanban_view .o_kanban_record {
|
||||
background: #fff !important;
|
||||
border: 1px solid rgba(0, 0, 0, 0.04) !important;
|
||||
border-radius: 16px !important;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02) !important;
|
||||
margin-bottom: 10px !important;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Hover Effect for Cards */
|
||||
.o_kanban_view .o_kanban_record:hover {
|
||||
transform: translateY(-5px) !important;
|
||||
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08) !important;
|
||||
border-color: var(--primary-color) !important;
|
||||
}
|
||||
|
||||
/* Card Header/Title */
|
||||
.o_kanban_record .o_kanban_record_title,
|
||||
.o_kanban_record strong {
|
||||
color: #2d3748 !important;
|
||||
font-weight: 700 !important;
|
||||
font-size: 1.05rem !important;
|
||||
}
|
||||
|
||||
/* Kanban Group Headers */
|
||||
.o_kanban_view .o_kanban_group_header {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
BUTTONS & FORM ELEMENTS
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* Gradient Buttons */
|
||||
.btn-primary,
|
||||
.o_form_button_save,
|
||||
.o_form_button_create {
|
||||
background-color: var(--primary-color) !important;
|
||||
border-color: var(--primary-color) !important;
|
||||
color: #fff !important;
|
||||
background: var(--gradient-primary) !important;
|
||||
border: none !important;
|
||||
border-radius: 10px !important;
|
||||
padding: 8px 20px !important;
|
||||
font-weight: 600 !important;
|
||||
letter-spacing: 0.3px;
|
||||
box-shadow: 0 4px 12px rgba(254, 205, 79, 0.3) !important;
|
||||
}
|
||||
|
||||
.btn-primary:hover,
|
||||
.o_form_button_save:hover,
|
||||
.o_form_button_create:hover {
|
||||
background-color: var(--primary-dark) !important;
|
||||
border-color: var(--primary-dark) !important;
|
||||
background: var(--gradient-primary-hover) !important;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 15px rgba(254, 205, 79, 0.4) !important;
|
||||
}
|
||||
|
||||
/* Secondary Buttons */
|
||||
.btn-secondary {
|
||||
background: #fff !important;
|
||||
border: 1px solid #e2e8f0 !important;
|
||||
color: #4a5568 !important;
|
||||
border-radius: 10px !important;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: #f7fafc !important;
|
||||
color: var(--secondary-color) !important;
|
||||
border-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Form Inputs */
|
||||
.o_form_view .o_input {
|
||||
border-radius: 8px !important;
|
||||
border: 1px solid #e2e8f0 !important;
|
||||
padding: 8px 12px !important;
|
||||
background-color: #fcfcfc !important;
|
||||
}
|
||||
|
||||
.o_form_view .o_input:focus {
|
||||
border-color: var(--secondary-color) !important;
|
||||
background-color: #fff !important;
|
||||
box-shadow: 0 0 0 3px rgba(43, 177, 165, 0.15) !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
COMPONENT OVERRIDES
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* [PREVIOUS BUTTON STYLES PRESERVED - ADDING DASHBOARD SPECIFIC BELOW] */
|
||||
|
||||
/* Primary Buttons */
|
||||
.btn-primary,
|
||||
.o_form_button_save,
|
||||
.o_form_button_create,
|
||||
.o_button_import {
|
||||
background: var(--gradient-primary) !important;
|
||||
border: none !important;
|
||||
border-radius: 10px !important;
|
||||
padding: 8px 20px !important;
|
||||
font-weight: 600 !important;
|
||||
letter-spacing: 0.3px;
|
||||
box-shadow: 0 4px 12px rgba(254, 205, 79, 0.3) !important;
|
||||
}
|
||||
|
||||
.btn-primary:hover,
|
||||
.o_form_button_save:hover,
|
||||
.o_form_button_create:hover,
|
||||
.o_button_import:hover {
|
||||
background: var(--gradient-primary-hover) !important;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 15px rgba(254, 205, 79, 0.4) !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
DASHBOARD SPECIFIC UI UPDATES (FULL PAGE OVERHAUL)
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* Hard Override for Top Navbar Background (Purple Removal) */
|
||||
nav.o_main_navbar,
|
||||
.o_main_navbar {
|
||||
background: #fecd4f !important;
|
||||
/* If the user wants the TAB background changed, we target the menu items */
|
||||
border-bottom: 2px solid var(--primary-color) !important;
|
||||
}
|
||||
|
||||
/* Top Menu Tabs (Dashboards, Configuration) */
|
||||
.o_main_navbar .o_menu_sections .dropdown-item,
|
||||
.o_main_navbar .o_menu_sections .o_nav_entry {
|
||||
background: transparent !important;
|
||||
color: #2bb1a5 !important;
|
||||
font-weight: 600 !important;
|
||||
border-radius: 8px !important;
|
||||
margin: 0 4px !important;
|
||||
}
|
||||
|
||||
/* Active Tab / Hover State */
|
||||
.o_main_navbar .o_menu_sections .o_nav_entry:hover,
|
||||
.o_main_navbar .o_menu_sections .show .dropdown-toggle {
|
||||
background-color: var(--primary-color) !important;
|
||||
/* Yellow Active Background */
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
/* Dashboard Sidebar (Finance/Logistics) */
|
||||
.o_notebook .nav.nav-tabs,
|
||||
.o_dashboard_view .o_group_selector {
|
||||
background: rgba(255, 255, 255, 0.6) !important;
|
||||
backdrop-filter: blur(10px);
|
||||
border-right: 1px solid rgba(0, 0, 0, 0.05);
|
||||
padding: 15px !important;
|
||||
}
|
||||
|
||||
.o_notebook .nav-link,
|
||||
.o_dashboard_view .o_group_selector li {
|
||||
color: var(--secondary-color) !important;
|
||||
/* Teal Text */
|
||||
border: none !important;
|
||||
border-radius: 10px !important;
|
||||
margin-bottom: 8px !important;
|
||||
padding: 10px 15px !important;
|
||||
font-weight: 500 !important;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.o_notebook .nav-link.active,
|
||||
.o_dashboard_view .o_group_selector li.selected {
|
||||
background: var(--gradient-primary) !important;
|
||||
color: #fff !important;
|
||||
box-shadow: 0 4px 10px rgba(254, 205, 79, 0.3) !important;
|
||||
}
|
||||
|
||||
/* Dashboard KPI Cards (Invoiced, Average Invoice, DSO) */
|
||||
.o_dashboard_view .o_group .o_aggregate,
|
||||
.o_group .o_group_col_6 {
|
||||
background: #fff !important;
|
||||
border-radius: 15px !important;
|
||||
padding: 20px !important;
|
||||
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05) !important;
|
||||
border: 1px solid rgba(0, 0, 0, 0.02) !important;
|
||||
transition: transform 0.3s ease !important;
|
||||
margin-bottom: 20px !important;
|
||||
}
|
||||
|
||||
.o_dashboard_view .o_group .o_aggregate:hover {
|
||||
transform: translateY(-5px) !important;
|
||||
box-shadow: 0 10px 25px rgba(43, 177, 165, 0.15) !important;
|
||||
border-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Value Text in Cards */
|
||||
.o_dashboard_view .o_group .o_aggregate .o_value {
|
||||
color: var(--secondary-color) !important;
|
||||
font-weight: 800 !important;
|
||||
font-size: 2rem !important;
|
||||
}
|
||||
|
||||
.o_dashboard_view .o_group .o_aggregate label {
|
||||
color: #718096 !important;
|
||||
font-size: 0.9rem !important;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
/* Charts Background */
|
||||
.o_graph_view {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.o_graph_canvas_container canvas {
|
||||
background: rgba(255, 255, 255, 0.5) !important;
|
||||
border-radius: 15px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
a,
|
||||
.o_form_uri,
|
||||
.oe_link {
|
||||
color: var(--primary-color) !important;
|
||||
.oe_link,
|
||||
.btn-link {
|
||||
color: var(--secondary-color) !important;
|
||||
/* Switched to teal for better readibility on white */
|
||||
}
|
||||
|
||||
a:hover,
|
||||
.o_form_uri:hover,
|
||||
.oe_link:hover {
|
||||
.oe_link:hover,
|
||||
.btn-link:hover {
|
||||
color: var(--primary-dark) !important;
|
||||
}
|
||||
|
||||
/* Active/Selected States */
|
||||
/* Nav & Menu Active States */
|
||||
.nav-link.active,
|
||||
.o_menu_sections .dropdown-item.active,
|
||||
.o_kanban_record.o_kanban_record_has_image_fill.oe_kanban_global_click_edit.o_kanban_record_selected {
|
||||
background-color: var(--primary-light) !important;
|
||||
color: #fff !important;
|
||||
.o_menu_brand:hover {
|
||||
color: var(--secondary-color) !important;
|
||||
border-bottom-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Badges */
|
||||
@ -91,64 +450,140 @@ a:hover,
|
||||
|
||||
/* Progress bars */
|
||||
.progress-bar {
|
||||
background-color: var(--primary-color) !important;
|
||||
background-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Checkboxes and Radio buttons */
|
||||
.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
|
||||
/* Checkboxes and Radios */
|
||||
.custom-control-input:checked~.custom-control-label::before,
|
||||
.o_checkbox input:checked+label::before {
|
||||
background-color: var(--primary-color) !important;
|
||||
border-color: var(--primary-color) !important;
|
||||
background-color: var(--secondary-color) !important;
|
||||
border-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Focus states */
|
||||
/* Form Controls - Focus using Secondary (Teal) like Login Page */
|
||||
.form-control:focus,
|
||||
.o_input:focus {
|
||||
border-color: var(--primary-color) !important;
|
||||
box-shadow: 0 0 0 0.2rem rgba(254, 205, 79, 0.25) !important;
|
||||
.o_input:focus,
|
||||
.o_searchview_input:focus {
|
||||
border-color: var(--secondary-color) !important;
|
||||
box-shadow: 0 0 0 0.2rem rgba(43, 177, 165, 0.25) !important;
|
||||
}
|
||||
|
||||
/* Odoo Navbar */
|
||||
.o_main_navbar {
|
||||
/* The old .o_main_navbar and .o_main_navbar .o_menu_brand rules are replaced by the new glassmorphism styles above. */
|
||||
|
||||
/* Loading Bar */
|
||||
.o_loading {
|
||||
background-color: var(--primary-color) !important;
|
||||
}
|
||||
|
||||
/* Odoo Menu Items */
|
||||
.o_menu_sections button.active,
|
||||
.o_menu_sections .dropdown-item.focus,
|
||||
.o_menu_sections .dropdown-item:focus {
|
||||
background-color: var(--primary-light) !important;
|
||||
/* Backend View Headers */
|
||||
.o_list_view .o_list_table thead,
|
||||
.o_kanban_view .o_kanban_group_header {
|
||||
background-color: #f8f9fa;
|
||||
border-bottom: 2px solid var(--primary-color) !important;
|
||||
color: #4a5568 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
/* Kanban View Selected */
|
||||
/* Kanban Records Selected */
|
||||
.o_kanban_record.o_kanban_record_selected {
|
||||
box-shadow: 0 0 0 2px var(--primary-color) !important;
|
||||
}
|
||||
|
||||
/* Pagination */
|
||||
.page-item.active .page-link {
|
||||
background-color: var(--primary-color) !important;
|
||||
border-color: var(--primary-color) !important;
|
||||
background-color: var(--secondary-color) !important;
|
||||
border-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Tabs */
|
||||
.nav-tabs .nav-link.active {
|
||||
border-bottom-color: var(--primary-color) !important;
|
||||
color: var(--primary-color) !important;
|
||||
/* Switcher/Toggle */
|
||||
.o_switch.custom-switch .custom-control-input:checked~.custom-control-label::before {
|
||||
background-color: var(--secondary-color) !important;
|
||||
}
|
||||
|
||||
/* Dropdown active items */
|
||||
/* Calendar Today */
|
||||
.fc-day-today {
|
||||
background-color: rgba(254, 205, 79, 0.1) !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------
|
||||
HEADER SUBMENU DROPDOWN NAVIGATION
|
||||
--------------------------------------------------------- */
|
||||
|
||||
/* Dropdown Container - Floating & High Z-Index */
|
||||
.dropdown-menu {
|
||||
background: #ffffff !important;
|
||||
/* Solid background to prevent transparent overlap issues */
|
||||
border: 1px solid #e2e8f0 !important;
|
||||
border-radius: 12px !important;
|
||||
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
|
||||
padding: 8px !important;
|
||||
margin-top: 5px !important;
|
||||
z-index: 9999 !important;
|
||||
/* Do not force position:absolute; let Odoo/Popper place it, just enforce z-index */
|
||||
}
|
||||
|
||||
/* Navbar Icons (Systray & App Switcher) Custom Color */
|
||||
.o_main_navbar .o_menu_systray .o_nav_entry i,
|
||||
.o_main_navbar .o_menu_apps .o_app_drawer i,
|
||||
.o_main_navbar .o_menu_sections .fa {
|
||||
color: var(--secondary-color) !important;
|
||||
/* Teal Icons */
|
||||
font-size: 1.1rem !important;
|
||||
transition: all 0.2s ease !important;
|
||||
}
|
||||
|
||||
.o_main_navbar .o_menu_systray .o_nav_entry:hover i,
|
||||
.o_main_navbar .o_menu_apps .o_app_drawer:hover i {
|
||||
color: var(--primary-dark) !important;
|
||||
/* Dark Yellow on Hover */
|
||||
transform: scale(1.1);
|
||||
text-shadow: 0 2px 10px rgba(254, 205, 79, 0.5);
|
||||
}
|
||||
|
||||
/* Dropdown Items */
|
||||
.dropdown-item {
|
||||
color: #4a5568 !important;
|
||||
padding: 10px 15px !important;
|
||||
border-radius: 8px !important;
|
||||
font-weight: 500 !important;
|
||||
transition: all 0.2s ease !important;
|
||||
margin-bottom: 2px !important;
|
||||
position: relative !important;
|
||||
z-index: 10000 !important;
|
||||
background: transparent;
|
||||
/* Default transparent */
|
||||
}
|
||||
|
||||
/* Dropdown Item Hover */
|
||||
.dropdown-item:hover,
|
||||
.dropdown-item:focus {
|
||||
background: var(--gradient-primary) !important;
|
||||
color: #fff !important;
|
||||
/* Removed transform translateX to fix jitter/overlap bugs */
|
||||
box-shadow: 0 4px 10px rgba(254, 205, 79, 0.2);
|
||||
}
|
||||
|
||||
/* Dropdown Header/Divider */
|
||||
.dropdown-divider {
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
|
||||
margin: 8px 0 !important;
|
||||
}
|
||||
|
||||
.dropdown-header {
|
||||
color: var(--secondary-color) !important;
|
||||
/* Teal Header */
|
||||
font-weight: 700 !important;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.75rem !important;
|
||||
letter-spacing: 0.05em;
|
||||
padding: 8px 15px !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/* Active Dropdown Item */
|
||||
.dropdown-item.active,
|
||||
.dropdown-item:active {
|
||||
background-color: var(--primary-color) !important;
|
||||
}
|
||||
|
||||
/* Status bar buttons */
|
||||
.o_statusbar_status button.btn-primary.disabled {
|
||||
background-color: var(--primary-light) !important;
|
||||
}
|
||||
|
||||
/* Search bar focus */
|
||||
.o_searchview_input:focus {
|
||||
border-color: var(--primary-color) !important;
|
||||
background: var(--gradient-primary) !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
11
addons/home_dashboard/static/src/js/chennora_title.js
Normal file
11
addons/home_dashboard/static/src/js/chennora_title.js
Normal file
@ -0,0 +1,11 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
import { WebClient } from "@web/webclient/webclient";
|
||||
import { patch } from "@web/core/utils/patch";
|
||||
|
||||
patch(WebClient.prototype, {
|
||||
setup() {
|
||||
super.setup();
|
||||
this.title.setParts({ brand: "Chennora" });
|
||||
}
|
||||
});
|
||||
@ -8,14 +8,31 @@
|
||||
<div class="o_home_menu_background">
|
||||
<!-- Top Bar -->
|
||||
<div class="o_home_top_bar">
|
||||
<span class="o_top_icon o_ai_icon" title="AI">AI</span>
|
||||
<span class="o_top_icon fa fa-comments" title="Messages">
|
||||
<span class="badge_dot"/>
|
||||
</span>
|
||||
<span class="o_top_icon fa fa-clock-o" title="Activities"/>
|
||||
<span class="o_top_icon fa fa-cog" title="Settings"/>
|
||||
<div class="o_user_avatar">
|
||||
<t t-esc="user_id.name[0] if user_id else 'U'"/>
|
||||
<div class="o_top_bar_island">
|
||||
<div class="o_top_item" title="AI Assistant">
|
||||
<span class="o_ai_icon">AI</span>
|
||||
</div>
|
||||
|
||||
<div class="o_top_item" title="Search">
|
||||
<i class="fa fa-search"/>
|
||||
</div>
|
||||
|
||||
<div class="o_top_item" title="Messages">
|
||||
<i class="fa fa-comments-o"/>
|
||||
<span class="badge_dot"/>
|
||||
</div>
|
||||
|
||||
<div class="o_top_item" title="Settings">
|
||||
<i class="fa fa-sliders"/>
|
||||
</div>
|
||||
|
||||
<div class="o_bar_divider"></div>
|
||||
|
||||
<div class="o_user_avatar_container">
|
||||
<div class="o_user_avatar">
|
||||
<t t-esc="user_id.name[0] if user_id else 'U'"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
7
addons/home_dashboard/views/web_title_template.xml
Normal file
7
addons/home_dashboard/views/web_title_template.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<odoo>
|
||||
<template id="chennora_web_layout" inherit_id="web.layout" name="Chennora Title">
|
||||
<xpath expr="//title" position="replace">
|
||||
<title>Chennora</title>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
Loading…
x
Reference in New Issue
Block a user