Spaces:
Paused
Paused
File size: 5,265 Bytes
3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 40c0d9e 3c4bd31 40c0d9e 3c4bd31 a4c7637 5c64dc0 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 3c4bd31 a4c7637 4991915 a4c7637 5c64dc0 a4c7637 4991915 a4c7637 5c64dc0 a4c7637 4991915 a4c7637 5c64dc0 a4c7637 4991915 ad080c9 3c4bd31 a4c7637 |
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 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
{% 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>
<!-- <ul class="breadcrumbs">
<li><a href="{{ url_for('index') }}">Home</a></li>
<li>My Applications</li>
</ul> -->
<!-- Prominent interview tips moved from the apply page. This section is placed
near the top of the My Applications page so candidates see the
guidelines before initiating their AI interview. It is responsive
and uses colours consistent with the overall theme. -->
<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 %}
<!-- Offer to take the interview if CV data exists -->
<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;
}
/* Interview tips styling. Creates a highlighted panel with a coloured
border and responsive padding. */
.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;
}
}
/*
* Improve visibility of the "View Job" button within each application card.
* The default `.btn-outline` uses a white border which blends into the
* light card background, making the button hard to see. On this page we
* override the outline button styling to use the primary colour for the
* border and text. On hover it fills with the primary colour for better
* affordance while matching the overall theme.
*/
.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 %}
|