Spaces:
Sleeping
Sleeping
File size: 3,628 Bytes
50a2256 3f3f730 50a2256 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Job Matcher</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 600px;
margin: 40px auto;
padding: 20px;
background-color: #f9f9f9;
text-align: center;
}
textarea {
width: 100%;
height: 150px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
}
button {
margin-top: 10px;
padding: 10px 20px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #0056b3;
}
.resume {
background: white;
padding: 10px;
border-radius: 5px;
margin-top: 10px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.resume-item {
background: white;
padding: 12px;
border-radius: 5px;
margin: 8px 0;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease-in-out;
}
.resume-item:hover {
transform: scale(1.02);
background-color: #f1f1f1;
}
</style>
</head>
<body>
<h1>Job Description Input</h1>
<textarea id="jobDescription" placeholder="Enter the job description..."></textarea>
<button onclick="submitJobDescription()">Submit</button>
<div id="resumes"></div>
<script>
async function submitJobDescription() {
const jobDescription = document.getElementById("jobDescription").value;
const resumesDiv = document.getElementById("resumes");
resumesDiv.innerHTML = "Loading...";
try {
const response = await fetch("https://avimittal30-candidate-recommender.hf.space/candidate_recommendation/", { // ✅ Keep the trailing slash
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ job_description: jobDescription })
});
if (!response.ok) throw new Error("Failed to fetch resumes");
const data = await response.json();
// resumesDiv.innerHTML = "<h2>Top 5 Resumes</h2>";
// data.top_resumes.forEach(resume => {
// const div = document.createElement("div");
// div.className = "resume";
// div.textContent = resume;
// resumesDiv.appendChild(div);
// });
// Create a styled list of resumes
resumesDiv.innerHTML = "<h2>Top 5 Recommended Resumes</h2>";
const list = document.createElement("ol"); // Ordered list
data.top_resumes.forEach(resume => {
const listItem = document.createElement("li");
listItem.className = "resume-item";
listItem.textContent = resume;
list.appendChild(listItem);
});
resumesDiv.appendChild(list);
} catch (error) {
resumesDiv.innerHTML = `<p style='color: red;'>${error.message}</p>`;
}
}
</script>
</body>
</html>
|