Обновить templates/modal.html

This commit is contained in:
Alex55 2025-04-23 13:58:39 +03:00
parent c296ee8caa
commit 137ecb2f3a
1 changed files with 276 additions and 123 deletions

View File

@ -34,28 +34,81 @@
<div class="tab-content__pane p-5" id="prom">
<div class="border border-gray-200 rounded-md p-5 mt-5">
<div class="grid grid-cols-12 gap-6">
<div class="intro-y box px-5 pt-5 mt-5">
<!-- Основной блок -->
<div class="col-span-12 lg:col-span-8 space-y-5">
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="flex flex-col lg:flex-row border-b border-gray-200 pb-5 -mx-5">
<div class="flex flex-1 px-5 items-center justify-center lg:justify-start">
<div class="ml-5">
<div class="w-24 sm:w-40 truncate sm:whitespace-normal font-medium text-lg"><span id="client-name2"></span></div>
<div class="text-gray-600">Frontend Engineer</div>
<div class="w-24 sm:w-40 truncate sm:whitespace-normal font-medium text-lg">
<span id="client-name2"></span>
</div>
</div>
</div>
</div>
</div>
<!-- Дополнительные блоки один под другим education_list -->
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="font-medium text-lg">Statement</div>
<span id="user_statement"></span>
</div>
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="font-medium text-lg">Education</div>
<span id="education_list"></span>
</div>
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="font-medium text-lg">Experience</div>
<span id="experience_list"></span>
</div>
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="font-medium text-lg">Skills</div>
<span id="skills"></span>
</div>
<div class="intro-y box px-5 pt-5 mt-5 col-span-12">
<div class="font-medium text-lg">Volunteering</div>
<span id="volunteering_list"></span>
</div>
<!--<div class="intro-y box col-span-12 lg:col-span-6">
<div class="flex items-center p-5 border-b border-gray-200">
<h2 class="font-medium text-base mr-auto">
Top Categories
</h2>
</div>
</div>-->
<div class="col-span-12 lg:col-span-4 flex flex-col space-y-4">
<div class="intro-y box p-4">
<div class="font-medium text-lg">Job Preferences</div>
<span id="job-title"></span>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Contact Info</div>
<span id="contactinfo"></span>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Resume</div>
<span id="resume_url"></span>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Languages</div>
<span id="languages"></span>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Website</div>
<span id="websites"></span>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Legal Status</div>
</div>
<div class="intro-y box p-4">
<div class="font-medium text-lg">Equal Opportunity</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-content__pane p-5" id="rozetka">
<div class="border border-gray-200 rounded-md p-5 mt-5">
@ -95,14 +148,112 @@ document.addEventListener("DOMContentLoaded", () => {
fetch(`/get_client/${clientId}`)
.then(response => response.json())
.then(data => {
console.log("Ответ от сервера:", data); // Проверяем, что данные пришли
console.log("Ответ от сервера:", data); // Проверяем, что данные пришли education_list user_statement websites
console.log("Перед выборкой элементов DOM");
const education = data.education_list.map(item => {
return `
<div>
<strong>University Name:</strong> ${item.university_name} <br>
<strong>Course:</strong> ${item.course} <br>
<strong>Period:</strong> ${item.start_date_month}/${item.start_date_year} - ${item.end_date_month}/${item.end_date_year} <br>
<strong>Description:</strong> ${item.description} <br>
</div>
`;
}).join('');
const volunt = data.volunteering_list.map(item => {
return `
<div>
<strong>Compan Name:</strong> ${item.volunteering_organisation_name} <br>
<strong>Course:</strong> ${item.volunteering_position} <br>
<strong>Period:</strong> ${item.volunteering_start_date_month}/${item.volunteering_start_date_year} - ${item.volunteering_end_date_month}/${item.volunteering_end_date_year} <br>
<strong>Description:</strong> ${item.volunteering_description} <br>
</div>
`;
}).join('');
const experience = data.experience_list.map(item => {
return `
<div>
<strong>Company Name:</strong> ${item.company_name} <br>
<strong>Title:</strong> ${item.title} <br>
<strong>Employment type:</strong> ${item.employment_type} <br>
<strong>Period:</strong> ${item.start_date_month}/${item.start_date_year} - ${item.end_date_month}/${item.end_date_year} <br>
<strong>Description:</strong> ${item.description} <br>
<br>
</div>
`;
}).join('');
document.getElementById("client-name").textContent = data.first_name+ ' ' + data.last_name;
document.getElementById("client-email").textContent = data.email_addr;
document.getElementById("client-phone").textContent = data.phone_num;
document.getElementById("client-name2").textContent = data.first_name+ ' ' + data.last_name;
document.getElementById("client-name2").textContent = data.first_name+ ' ' + data.last_name+ ' ' +data.additional_name+ ' ' + data.pronouns ;
document.getElementById("user_statement").innerHTML = data.user_statement;
document.getElementById("skills").innerHTML = data.skills.join(', ');
document.getElementById("education_list").innerHTML = education;
document.getElementById("volunteering_list").innerHTML = volunt;
document.getElementById("experience_list").innerHTML = experience;
document.getElementById("job-title").innerHTML = data["job-title"];
document.getElementById("resume_url").innerHTML = `<a href="${data["resume_url"]}" target="_blank">${data["resume_url"]}</a>`;
document.getElementById("languages").innerHTML = data.languages
.map(lang => `${lang.language_label}: ${lang.level_label}`)
.join('<br>');
//document.getElementById("contactinfo").textContent = data.email_addr + '<br>' + data.phone_num ;
if (data.websites && data.websites.length > 0) {
document.getElementById("websites").innerHTML = data.websites
.map(web => `${web.type}: <a href="${web.url}" target="_blank">${web.url}</a>`)
.join('<br>');
} else {
document.getElementById("websites").innerHTML = "No websites available.";
}
document.getElementById("contactinfo").innerHTML = data.email_addr + '<br>' + data.phone_num;+
modal.classList.remove("hidden");
// Потом работаем с getKnows
const token = data.token;
console.log("Токен:", token);
if (token) {
fetch("https://devnet.turboapply.ai/api/getKnows", {
method: "GET",
headers: {
"token": token
}
})
.then(response => {
if (!response.ok) throw new Error("Network error");
return response.json();
})
.then(result => {
console.log("Результат запроса getKnows:", result);
// Тут можно вставить в DOM
})
.catch(error => {
console.error("Ошибка запроса getKnows:", error);
});
} else {
console.warn("Токен отсутствует, getKnows не запрашивается");
}
})
.catch(err => console.error("Error fetching client data:", err));
});
@ -121,3 +272,5 @@ document.addEventListener("DOMContentLoaded", () => {
});
});
</script>