ATS/templates/meetings/reschedule_meeting.html
2026-01-29 14:19:03 +03:00

83 lines
4.0 KiB
HTML

{% load static i18n widget_tweaks %}
<div class="p-4 bg-white rounded-xl shadow-sm border border-gray-200" id="reschedule-meeting-form">
<!-- Header -->
<div class="flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 mb-4">
<div>
<h5 class="text-lg font-bold flex items-center gap-2 mb-1" style="color: #9d2235;">
<i data-lucide="refresh-ccw" class="w-5 h-5"></i>
{% trans "Update Interview" %} for {{ candidate.name }}
</h5>
<p class="text-gray-600 text-sm mb-2">{% trans "Job" %}: {{ job.title }}</p>
{% if has_future_meeting %}
<div class="bg-blue-50 border border-blue-200 rounded-lg p-3 text-sm" role="alert">
<div class="flex items-start gap-2">
<i data-lucide="info" class="w-4 h-4 text-blue-600 flex-shrink-0 mt-0.5"></i>
<p class="text-blue-800 mb-0">{% trans "You are updating an existing meeting schedule." %}</p>
</div>
</div>
{% endif %}
</div>
</div>
<!-- Form -->
<form method="post" id="updateMeeting" action="{% url 'reschedule_meeting_for_application' job.slug candidate.pk meeting.pk %}" class="space-y-4">
{% csrf_token %}
<!-- Topic -->
<div>
<label for="{{ form.topic.id_for_label }}" class="block text-sm font-semibold text-gray-700 mb-2">
{% trans "Meeting Topic" %}
</label>
{{ form.topic|add_class:"w-full px-4 py-3 border border-gray-200 rounded-xl text-sm focus:ring-2 focus:ring-temple-red/20 focus:border-temple-red outline-none transition" }}
{% for error in form.topic.errors %}
<div class="text-red-600 text-sm mt-1">{{ error }}</div>
{% endfor %}
</div>
<div class="grid grid-cols-1 md:grid-cols-7 gap-4">
<!-- Start Time -->
<div class="md:col-span-4">
<label for="{{ form.start_time.id_for_label }}" class="block text-sm font-semibold text-gray-700 mb-2">
{% trans "Start Time" %} ({% trans "Date & Time" %})
</label>
{{ form.start_time|add_class:"w-full px-4 py-3 border border-gray-200 rounded-xl text-sm focus:ring-2 focus:ring-temple-red/20 focus:border-temple-red outline-none transition" }}
{% for error in form.start_time.errors %}
<div class="text-red-600 text-sm mt-1">{{ error }}</div>
{% endfor %}
</div>
<!-- Duration -->
<div class="md:col-span-3">
<label for="{{ form.duration.id_for_label }}" class="block text-sm font-semibold text-gray-700 mb-2">
{% trans "Duration (minutes)" %}
</label>
{{ form.duration|add_class:"w-full px-4 py-3 border border-gray-200 rounded-xl text-sm focus:ring-2 focus:ring-temple-red/20 focus:border-temple-red outline-none transition" }}
{% for error in form.duration.errors %}
<div class="text-red-600 text-sm mt-1">{{ error }}</div>
{% endfor %}
</div>
</div>
<hr class="border-gray-200 my-4">
<!-- Action Button -->
<div class="flex justify-end">
<button type="submit" class="inline-flex items-center gap-2 px-6 py-2.5 rounded-lg text-sm font-medium text-white transition-all duration-200"
style="background-color: #9d2235;"
onmouseover="this.style.backgroundColor='#7a1a29'"
onmouseout="this.style.backgroundColor='#9d2235'">
<i data-lucide="save" class="w-4 h-4"></i>
{% trans "Update Meeting" %}
</button>
</div>
</form>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
if (typeof lucide !== 'undefined') {
lucide.createIcons();
}
});
</script>