Skip to content

Commit 2ca6f69

Browse files
Merge pull request steam-bell-92#813 from NehaP1706/fix/ai-resume-analyzer-minimal
Fix/ai resume analyzer minimal
2 parents 2b98cd8 + 477e33d commit 2ca6f69

4 files changed

Lines changed: 362 additions & 102 deletions

File tree

web-app/css/styles.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,6 +1002,10 @@ body.sidebar-active .hero-controls {
10021002
color: #000;
10031003
}
10041004

1005+
.hidden {
1006+
display: none !important;
1007+
}
1008+
10051009
/* ── AI Resume Analyzer ────────────────────────────────────── */
10061010
.resume-analyzer-shell {
10071011
max-width: 960px;

web-app/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,7 @@ <h3>Legal</h3>
696696
<script src="js/projects/spot-the-difference.js"></script>
697697
<script src="js/projects/color-palette.js"></script>
698698
<script src="js/projects/ceasar-cipher.js"></script>
699+
<script src="js/projects/resume-analyzer.js"></script>
699700
<!-- Registry: maps project names to their module functions -->
700701
<script src="js/projects.js"></script>
701702
<script src="js/playground.js"></script>

web-app/js/projects.js

Lines changed: 2 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -3322,108 +3322,8 @@ function getProductivePetHTML() {
33223322
`;
33233323
}
33243324

3325-
function getAIResumeAnalyzerHTML() {
3326-
return `
3327-
<div class="resume-analyzer-shell">
3328-
<div class="resume-analyzer-hero">
3329-
<div class="resume-analyzer-copy">
3330-
<span class="resume-analyzer-badge">GSSoC Utility</span>
3331-
<h2>AI Resume Analyzer</h2>
3332-
<p>Upload a resume and get a quick ATS-style snapshot with keyword, structure, and formatting feedback.</p>
3333-
</div>
3334-
<div class="resume-analyzer-pill">No backend required</div>
3335-
</div>
3336-
3337-
<div class="resume-analyzer-grid">
3338-
<section class="resume-panel resume-upload-panel">
3339-
<div class="resume-upload-box">
3340-
<i class="fa-solid fa-file-lines resume-upload-icon"></i>
3341-
<label class="resume-file-btn">
3342-
Choose File
3343-
<input type="file" id="resumeInput" accept=".pdf,.doc,.docx,.txt" hidden>
3344-
</label>
3345-
<p>Drag &amp; drop or click to choose a resume</p>
3346-
</div>
3347-
3348-
<button class="resume-analyze-btn" id="analyzeBtn" type="button">Analyze Resume 🚀</button>
3349-
</section>
3350-
3351-
<section class="resume-panel resume-score-panel hidden" id="ats">
3352-
<h3>ATS Score</h3>
3353-
<div class="resume-progress-circle">
3354-
<span>82%</span>
3355-
</div>
3356-
<div class="resume-extra-info">
3357-
<p>✔ Formatting Score: 80%</p>
3358-
<p>✔ Keyword Match: 75%</p>
3359-
</div>
3360-
</section>
3361-
3362-
<section class="resume-panel resume-bottom-panel hidden" id="bottomSection">
3363-
<div class="resume-mini-card">
3364-
<h3>Keywords Match</h3>
3365-
3366-
<div class="resume-keyword-item">
3367-
<span>Python</span>
3368-
<div class="resume-bar"><div style="width: 90%"></div></div>
3369-
</div>
3370-
3371-
<div class="resume-keyword-item">
3372-
<span>Machine Learning</span>
3373-
<div class="resume-bar"><div style="width: 75%"></div></div>
3374-
</div>
3375-
3376-
<div class="resume-keyword-item">
3377-
<span>Data Analysis</span>
3378-
<div class="resume-bar"><div style="width: 65%"></div></div>
3379-
</div>
3380-
</div>
3381-
3382-
<div class="resume-mini-card">
3383-
<h3><i class="fa-solid fa-lightbulb"></i> Suggestions</h3>
3384-
3385-
<div class="resume-suggestion">
3386-
<i class="fa-solid fa-check"></i>
3387-
<p>Add more projects</p>
3388-
</div>
3389-
3390-
<div class="resume-suggestion">
3391-
<i class="fa-solid fa-check"></i>
3392-
<p>Improve formatting</p>
3393-
</div>
3394-
3395-
<div class="resume-suggestion">
3396-
<i class="fa-solid fa-check"></i>
3397-
<p>Use action verbs</p>
3398-
</div>
3399-
</div>
3400-
</section>
3401-
</div>
3402-
</div>
3403-
`;
3404-
}
3405-
3406-
function initAIResumeAnalyzer() {
3407-
const analyzeBtn = document.getElementById('analyzeBtn');
3408-
const resumeInput = document.getElementById('resumeInput');
3409-
const ats = document.getElementById('ats');
3410-
const bottomSection = document.getElementById('bottomSection');
3411-
3412-
if (!analyzeBtn || !resumeInput || !ats || !bottomSection) return;
3413-
3414-
analyzeBtn.addEventListener('click', () => {
3415-
if (!resumeInput.files.length) {
3416-
alert('Upload resume first!');
3417-
return;
3418-
}
3419-
3420-
ats.classList.remove('hidden');
3421-
bottomSection.classList.remove('hidden');
3422-
});
3423-
}
3424-
3425-
3426-
3325+
// getAIResumeAnalyzerHTML and initAIResumeAnalyzer are defined in
3326+
// js/projects/resume-analyzer.js to keep the codebase organized and modular.
34273327

34283328

34293329
function initializeProject(projectName) {

0 commit comments

Comments
 (0)