|
{% extends "base.html" %} |
|
|
|
{% block title %}My Applications - Codingo{% endblock %} |
|
|
|
{% block content %} |
|
<section class="content-section"> |
|
<div class="section-title"> |
|
<h2>My Applications</h2> |
|
<p>Your submitted job applications are listed below.</p> |
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="tips-section"> |
|
<h3>Important Interview Guidelines</h3> |
|
<ul> |
|
<li>The interview can be taken only once, so please be prepared.</li> |
|
<li>Make sure you are in a quiet environment with a stable internet connection.</li> |
|
<li>This is not a final job interview, but it helps the company shortlist the most relevant candidates.</li> |
|
<li>The interview is customized based on your CV and the job requirements.</li> |
|
<li>It takes 10 to 15 minutes and includes both general and skill‑based questions.</li> |
|
</ul> |
|
</div> |
|
|
|
<div class="application-list"> |
|
{% if applications %} |
|
{% for application in applications %} |
|
<div class="application-card"> |
|
<div class="application-header"> |
|
<h3>{{ application.job.role if application.job else 'Unknown Role' }}</h3> |
|
<div class="application-info"> |
|
<span>{{ application.job.company if application.job else '' }}</span> |
|
<span>Status: {{ application.status }}</span> |
|
</div> |
|
</div> |
|
<div class="application-body"> |
|
<p>Applied on {{ application.date_applied.strftime('%B %d, %Y') }}</p> |
|
{% if application.job %} |
|
<p>{{ application.job.description[:150] }}{% if application.job.description|length > 150 %}...{% endif %}</p> |
|
{% endif %} |
|
</div> |
|
<div class="application-footer"> |
|
{% if application.job %} |
|
<a href="{{ url_for('job_detail', job_id=application.job.id) }}" class="btn btn-outline">View Job</a> |
|
{% endif %} |
|
{% if application.extracted_features %} |
|
|
|
<a href="{{ url_for('interview_page', job_id=application.job.id) }}" class="btn btn-primary">Take Interview</a> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% endfor %} |
|
{% else %} |
|
<div class="card"> |
|
<div class="card-body"> |
|
<p>You haven't applied to any jobs yet. Browse available positions on the <a href="{{ url_for('jobs') }}">jobs page</a>.</p> |
|
</div> |
|
</div> |
|
{% endif %} |
|
</div> |
|
</section> |
|
|
|
<style> |
|
.application-list { |
|
display: grid; |
|
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); |
|
gap: 1.5rem; |
|
} |
|
|
|
.application-card { |
|
background-color: var(--light); |
|
border: 1px solid #eee; |
|
border-radius: 8px; |
|
box-shadow: 0 2px 4px rgba(0,0,0,0.05); |
|
display: flex; |
|
flex-direction: column; |
|
justify-content: space-between; |
|
padding: 1rem; |
|
} |
|
|
|
.application-header h3 { |
|
margin-bottom: 0.5rem; |
|
color: var(--primary); |
|
} |
|
|
|
.application-info span { |
|
margin-right: 1rem; |
|
color: var(--dark); |
|
font-weight: 500; |
|
} |
|
|
|
.application-footer { |
|
margin-top: 1rem; |
|
display: flex; |
|
justify-content: flex-end; |
|
gap: 0.5rem; |
|
} |
|
|
|
|
|
|
|
.tips-section { |
|
background-color: #f8f9fa; |
|
border-left: 5px solid var(--primary); |
|
padding: 2rem; |
|
margin: 2rem 0; |
|
border-radius: 8px; |
|
} |
|
.tips-section h3 { |
|
margin-top: 0; |
|
color: var(--primary); |
|
margin-bottom: 1rem; |
|
font-size: 1.5rem; |
|
} |
|
.tips-section ul { |
|
margin-left: 1rem; |
|
padding-left: 1rem; |
|
list-style-type: disc; |
|
line-height: 1.6; |
|
} |
|
@media (max-width: 600px) { |
|
.tips-section { |
|
padding: 1rem; |
|
} |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.application-footer .btn-outline { |
|
border: 2px solid var(--primary); |
|
color: var(--primary); |
|
background-color: transparent; |
|
} |
|
.application-footer .btn-outline:hover { |
|
background-color: var(--primary); |
|
color: var(--light); |
|
} |
|
</style> |
|
{% endblock %} |
|
|