feat: add Certifications & Training section to candidate detail page
This commit is contained in:
Binary file not shown.
@@ -6,6 +6,6 @@
|
||||
"originalName": "master_cv_template.docx",
|
||||
"path": "/root/workspace/cv-app/renderer/carbone-templates/433a0593-d3cf-414e-8763-ab5f87cbc75c.docx",
|
||||
"uploadedAt": "2026-07-16T09:03:29.601Z",
|
||||
"updatedAt": "2026-07-17T09:04:41.170Z"
|
||||
"updatedAt": "2026-07-17T09:07:36.233Z"
|
||||
}
|
||||
]
|
||||
@@ -150,6 +150,17 @@ async function viewCandidate(id) {
|
||||
</div>
|
||||
`).join('') || '<p class="text-muted">No education extracted</p>'}
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3 style="margin-bottom:12px">Certifications & Training (${data.certifications ? data.certifications.length : 0})</h3>
|
||||
${(data.certifications || []).map(c => `
|
||||
<div style="margin-bottom:12px">
|
||||
<strong>${c.name || ''}</strong>
|
||||
${c.issuer ? '<div class="text-muted text-sm">' + c.issuer + '</div>' : ''}
|
||||
${c.issue_date ? '<div class="text-muted text-sm">Issued: ' + formatDate(c.issue_date) + '</div>' : ''}
|
||||
${c.credential_id ? '<div class="text-muted text-sm">ID: ' + c.credential_id + '</div>' : ''}
|
||||
</div>
|
||||
`).join('') || '<p class="text-muted">No certifications extracted</p>'}
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3 style="margin-bottom:12px">Raw CV Text</h3>
|
||||
<div style="max-height:400px;overflow-y:auto;background:var(--bg-input);padding:12px;border-radius:6px;white-space:pre-wrap;font-size:13px">${c.raw_cv_text || 'No raw text available'}</div>
|
||||
@@ -192,7 +203,7 @@ async function uploadFile(file) {
|
||||
status.innerHTML = `<div class="toast success" style="position:relative;bottom:0;right:0">
|
||||
<strong>Parsed successfully!</strong><br>
|
||||
Name: ${data.parsed_data.first_name || ''} ${data.parsed_data.last_name || ''}<br>
|
||||
Skills: ${data.parsed_data.skills?.length || 0} | Experience: ${data.parsed_data.experience?.length || 0} | Education: ${data.parsed_data.education?.length || 0}
|
||||
Skills: ${data.parsed_data.skills?.length || 0} | Experience: ${data.parsed_data.experience?.length || 0} | Education: ${data.parsed_data.education?.length || 0} | Certs: ${data.parsed_data.certifications?.length || 0}
|
||||
</div>`;
|
||||
toast('CV uploaded and parsed successfully');
|
||||
} else {
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
<!-- Modals -->
|
||||
<div class="modal-overlay" id="modal-overlay"></div>
|
||||
|
||||
<script src="/static/app.js?v=14"></script>
|
||||
<script src="/static/app.js?v=15"></script>
|
||||
<script src="/static/carbone.js?v=14"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user