Spaces:
Paused
Paused
| {% extends "base.html" %} | |
| {% block title %}Post a New Job - Codingo{% endblock %} | |
| {# | |
| This template allows authenticated recruiters to create new job postings. It | |
| follows the same card‑based design used throughout the platform to ensure | |
| visual consistency. All fields are required, and any validation errors | |
| will be flashed by the corresponding view function. Upon successful | |
| submission the recruiter is redirected back to the jobs listing. | |
| #} | |
| {% block content %} | |
| <section class="content-section"> | |
| <!-- <ul class="breadcrumbs"> | |
| <li><a href="{{ url_for('index') }}">Home</a></li> | |
| <li><a href="{{ url_for('jobs') }}">Jobs</a></li> | |
| <li>Post Job</li> | |
| </ul> --> | |
| <div class="card"> | |
| <div class="card-header"> | |
| <h2>Post a New Job</h2> | |
| <p>Fill out the details below to create a new job listing.</p> | |
| </div> | |
| <div class="card-body"> | |
| <form method="POST"> | |
| <div class="form-group"> | |
| <label for="role">Job Title</label> | |
| <input type="text" name="role" id="role" class="form-control" required placeholder="e.g. Senior Python Developer"> | |
| </div> | |
| <div class="form-group"> | |
| <label for="company">Company</label> | |
| <input type="text" name="company" id="company" class="form-control" required placeholder="e.g. TechCorp"> | |
| </div> | |
| <div class="form-group"> | |
| <label for="seniority">Seniority</label> | |
| <input type="text" name="seniority" id="seniority" class="form-control" required placeholder="e.g. Junior, Mid, Senior"> | |
| </div> | |
| <div class="form-group"> | |
| <label for="skills">Required Skills</label> | |
| <textarea name="skills" id="skills" class="form-control" rows="3" required placeholder="e.g. Python, Flask, SQL"></textarea> | |
| </div> | |
| <div class="form-group"> | |
| <label for="description">Job Description</label> | |
| <textarea name="description" id="description" class="form-control" rows="5" required placeholder="Describe the responsibilities and requirements for this position"></textarea> | |
| </div> | |
| <div class="form-group"> | |
| <label for="num_questions">Number of Interview Questions</label> | |
| <input type="number" name="num_questions" id="num_questions" class="form-control" min="1" value="3" required placeholder="e.g. 5"> | |
| <small style="color: #666; display: block; margin-top: 0.25rem;">Specify how many questions the AI interview should ask (minimum 1).</small> | |
| </div> | |
| <div class="application-actions" style="margin-top: 2rem; text-align: center;"> | |
| <button type="submit" class="btn btn-primary">Post Job</button> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| </section> | |
| <style> | |
| /* Reuse form styling from other pages for consistency */ | |
| .form-group label { | |
| font-weight: 600; | |
| color: var(--primary); | |
| margin-bottom: 0.5rem; | |
| display: block; | |
| } | |
| .form-control { | |
| width: 100%; | |
| padding: 0.75rem; | |
| font-size: 1rem; | |
| border-radius: 6px; | |
| border: 1px solid #ccc; | |
| } | |
| .application-actions { | |
| text-align: center; | |
| } | |
| .btn-primary { | |
| background: linear-gradient(135deg, var(--primary), var(--secondary)); | |
| color: white; | |
| padding: 0.75rem 1.5rem; | |
| font-weight: 500; | |
| border: none; | |
| border-radius: 6px; | |
| cursor: pointer; | |
| } | |
| .btn-primary:hover { | |
| opacity: 0.9; | |
| } | |
| </style> | |
| {% endblock %} |