diff --git a/addons_extensions/hr_recruitment_web_app/models/recruitment_doc_upload_wizard.py b/addons_extensions/hr_recruitment_web_app/models/recruitment_doc_upload_wizard.py index 605aaf474..327cfefa8 100644 --- a/addons_extensions/hr_recruitment_web_app/models/recruitment_doc_upload_wizard.py +++ b/addons_extensions/hr_recruitment_web_app/models/recruitment_doc_upload_wizard.py @@ -11,7 +11,7 @@ from pdf2image import convert_from_bytes from PIL import Image import pytesseract import json -from docx import Document +# from docx import Document # import binascii from odoo.tools.mimetypes import guess_mimetype diff --git a/addons_extensions/hr_recruitment_web_app/static/src/css/ats.css b/addons_extensions/hr_recruitment_web_app/static/src/css/ats.css index 53d7ae7b9..f0ee16c6e 100644 --- a/addons_extensions/hr_recruitment_web_app/static/src/css/ats.css +++ b/addons_extensions/hr_recruitment_web_app/static/src/css/ats.css @@ -138,7 +138,7 @@ body.ats-app { /* ===== Main Content Area ===== */ .ats-app .content-area { flex: 1; - padding: 2rem; + padding: 5px; background-color: var(--content-bg); overflow-y: auto; box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.02); @@ -210,8 +210,23 @@ body.ats-app { } .ats-app .content-area { - padding: 1rem; - border-left: none; + padding: 8px; } } +#sidebar.collapsed { + width: 0; + overflow: hidden; + padding: 0; +} +.menu-list a.active { + background-color: #DBEDFE; + color: #0061FF; + transform: translateX(6px); + box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2); + font-weight: 600; + letter-spacing: 0.5px; + border-radius: 0.375rem; + padding: 0.5rem 0.75rem; + display: block; +} diff --git a/addons_extensions/hr_recruitment_web_app/static/src/css/content.css b/addons_extensions/hr_recruitment_web_app/static/src/css/content.css index c86066b67..0438c1e5f 100644 --- a/addons_extensions/hr_recruitment_web_app/static/src/css/content.css +++ b/addons_extensions/hr_recruitment_web_app/static/src/css/content.css @@ -437,7 +437,13 @@ padding-bottom: 12px; border-bottom: 2px solid var(--gray-200); } +.ats-grid .fa{ + padding-right:5px; +} +.ats-list { + background-color:linear-gradient(90deg,rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 35%, rgba(0, 212, 255, 1) 100%); +} .ats-grid .detail-label { font-weight: 600; color: var(--text-secondary); diff --git a/addons_extensions/hr_recruitment_web_app/static/src/js/ats.js b/addons_extensions/hr_recruitment_web_app/static/src/js/ats.js index caf3dd0bc..9e0f00933 100644 --- a/addons_extensions/hr_recruitment_web_app/static/src/js/ats.js +++ b/addons_extensions/hr_recruitment_web_app/static/src/js/ats.js @@ -5,19 +5,60 @@ document.addEventListener("DOMContentLoaded", function () { const contentArea = document.getElementById("main-content"); const jobDetailArea = document.getElementById("job-detail"); - const toggleBtn = document.getElementById("sidebar-toggle-btn"); - const sidebar = document.getElementById("sidebar"); +// const toggleBtn = document.getElementById("sidebar-toggle-btn"); +// const sidebar = document.getElementById("sidebar"); +// +// // ✅ Sidebar Toggle +// if (toggleBtn && sidebar) { +// toggleBtn.addEventListener("click", function () { +// sidebar.classList.toggle("collapsed"); +// sidebar.classList.toggle("expanded"); +// }); +// } + document.getElementById('sidebar-toggle-btn').addEventListener('click', function () { + const sidebar = document.getElementById('sidebar'); + const icon = this.querySelector('i'); - // ✅ Sidebar Toggle - if (toggleBtn && sidebar) { - toggleBtn.addEventListener("click", function () { - sidebar.classList.toggle("collapsed"); - sidebar.classList.toggle("expanded"); - }); - } + sidebar.classList.toggle('collapsed'); + if (sidebar.classList.contains('collapsed')) { + icon.classList.remove('fas fa-angle-left'); + icon.classList.add('fas fa-angle-right'); + } else { + icon.classList.remove('fas fa-angle-right'); + icon.classList.add('fas fa-angle-left'); + } + }); + const links = document.querySelectorAll('.menu-list a'); + + function highlightCurrentMenu() { + const hash = window.location.hash; + + links.forEach(link => { + if (link.getAttribute('href') === hash) { + link.classList.add('active'); + } else { + link.classList.remove('active'); + } + }); + } + + // Run on page load + highlightCurrentMenu(); + + // Optional: update on hash change (if user navigates) + window.addEventListener('hashchange', highlightCurrentMenu); + + // Optional: highlight on click if you're using JS navigation + links.forEach(link => { + link.addEventListener('click', () => { + links.forEach(l => l.classList.remove('active')); + link.classList.add('active'); + }); + }); document.querySelectorAll('.menu-list a[data-page]').forEach(link => { link.addEventListener('click', async function (e) { + debugger; e.preventDefault(); const page = this.dataset.page; diff --git a/addons_extensions/hr_recruitment_web_app/views/candidate.xml b/addons_extensions/hr_recruitment_web_app/views/candidate.xml index e2ac1688e..0767cc1ee 100644 --- a/addons_extensions/hr_recruitment_web_app/views/candidate.xml +++ b/addons_extensions/hr_recruitment_web_app/views/candidate.xml @@ -86,7 +86,10 @@