ats CSS
This commit is contained in:
parent
e88f7da488
commit
0b93dd1a87
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,10 @@
|
|||
<link rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
|
||||
<div class="ats-grid" id="ats-details-container">
|
||||
<div class="ats-card span-3" style="grid-row: span 2;" id="candidate-overview">
|
||||
<button type="button" class="close-detail" aria-label="Close">
|
||||
<span aria-hidden="true">&times;</span>
|
||||
</button>
|
||||
<div class="ats-card span-3" style="grid-row: span 2;" id="ats-overview">
|
||||
<h4 class="section-title">
|
||||
<i class="fa fa-list-ul me-2"></i>Quick Nav
|
||||
</h4>
|
||||
|
|
@ -156,7 +159,13 @@
|
|||
</span>
|
||||
<span class="me-3 meta-item" t-if="candidate.employee_id">
|
||||
<i class="fa fa-id-card me-1"></i>
|
||||
<span t-esc="candidate.employee_id.name or 'No employee record'"/>
|
||||
<t t-if="candidate.employee_id.employee_id">
|
||||
<span t-esc="candidate.employee_id.employee_id or 'No employee record'"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span t-esc="'Not Specified'"/>
|
||||
</t>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -183,8 +192,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ats-card span-3" style="grid-row: span 1;">
|
||||
</div>
|
||||
<!-- <div class="ats-card span-3" style="grid-row: span 1;">-->
|
||||
<!-- </div>-->
|
||||
<div class="ats-card span-6" style="grid-row: span 1;" id="candidate-basic-info">
|
||||
<h4 class="section-title">
|
||||
<i class="fa fa-info-circle me-2"></i>Basic Information
|
||||
|
|
|
|||
|
|
@ -16,10 +16,12 @@
|
|||
src="/hr_recruitment_web_app/static/src/js/select2.min.js"></script>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/ats.css"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/list.css?v=34"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/content.css?v=5"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/content.css?v=8"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/jd.css"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/applicants.css?v=3"/>
|
||||
<link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/candidate.css?v=1"/>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"/>
|
||||
|
||||
<!-- <link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/applicants.css"/>-->
|
||||
<!-- <link rel="stylesheet" href="/hr_recruitment_web_app/static/src/css/applicants_details.css"/>-->
|
||||
<!-- <link ref="stylesheet" href="/hr_recruitment_web_app/static/src/css/ats_candidate.css"/>-->
|
||||
|
|
@ -43,13 +45,15 @@
|
|||
style="height: 40px; width: auto;" />
|
||||
<span style="font-size: 24px; font-weight: bold;">Opsentra ATS</span>
|
||||
</div>
|
||||
<ul class="menu-list">
|
||||
<ul class="menu-list list-unstyled">
|
||||
<!-- <span class="list-title">RECRUITING</span>-->
|
||||
<li><a href="#jobs" data-page="job_requests"><i class="bi bi-file-earmark-text"></i> JD</a></li>
|
||||
<li><a href="#applicants" data-page="applicants"><i class="bi bi-people"></i> Applicants</a></li>
|
||||
<li><a href="#candidates" data-page="candidates"><i class="bi bi-person-check"></i> Candidates</a></li>
|
||||
</ul>
|
||||
<button id="sidebar-toggle-btn" class="toggle-btn">☰</button>
|
||||
<button id="sidebar-toggle-btn" class="btn btn-outline-secondary position-absolute top-0 start-100 translate-middle-y mt-3">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</button>
|
||||
</aside>
|
||||
|
||||
<main class="content-area">
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<record id="res_config_settings_view_form_inherited_qwen" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.inherit.account</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="priority" eval="40"/>
|
||||
<field name="inherit_id" ref="hr_recruitment.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//block[@name='recruitment_in_app_purchases']" position="after">
|
||||
<h2>Qwen API</h2>
|
||||
<div class="row mt16 o_settings_container" name="performance">
|
||||
<div class="col-12 col-lg-6 o_setting_box" id="qwen_api_key">
|
||||
<label for="qwen_api_key"/>
|
||||
<field name="qwen_api_key"/>
|
||||
<div class="text-muted">
|
||||
Enter Your API key of the Together.ai.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <record id="res_config_settings_view_form_inherited_qwen" model="ir.ui.view">-->
|
||||
<!-- <field name="name">res.config.settings.view.form.inherit.account</field>-->
|
||||
<!-- <field name="model">res.config.settings</field>-->
|
||||
<!-- <field name="priority" eval="40"/>-->
|
||||
<!-- <field name="inherit_id" ref="hr_recruitment.res_config_settings_view_form"/>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <xpath expr="//block[@name='recruitment_in_app_purchases']" position="after">-->
|
||||
<!-- <h2>Qwen API</h2>-->
|
||||
<!-- <div class="row mt16 o_settings_container" name="performance">-->
|
||||
<!-- <div class="col-12 col-lg-6 o_setting_box" id="qwen_api_key">-->
|
||||
<!-- <label for="qwen_api_key"/>-->
|
||||
<!-- <field name="qwen_api_key"/>-->
|
||||
<!-- <div class="text-muted">-->
|
||||
<!-- Enter Your API key of the Together.ai.-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<!-- </xpath>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
</odoo>
|
||||
Loading…
Reference in New Issue