Files
InviteMe/app/templates/invitation.html
T
2026-09-01 11:04:21 +03:00

79 lines
4.8 KiB
HTML

{% extends "base.html" %}
{% block title %}Приглашение — {{ event.name }}{% endblock %}
{% block content %}
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="card invitation-card">
<div class="card-body p-4 p-md-5">
<div class="eyebrow">Персональное приглашение</div>
<h1 class="display-5 mb-3">{{ event.name }}</h1>
<p class="lead text-muted">Здравствуйте, <span class="text-white">{{ guest.build_full_name() }}</span>!</p>
{% if event.description %}<p>{{ event.description }}</p>{% endif %}
<div class="row g-3 my-4">
{% if event.event_date %}
<div class="col-md-6"><div class="stat-card"><div class="stat-label">Дата и время</div><div class="h5 mt-2 mb-0">{{ event.event_date | localtime('%d.%m.%Y %H:%M') }}</div></div></div>
{% endif %}
{% if event.location %}
<div class="col-md-6"><div class="stat-card"><div class="stat-label">Место</div><div class="h5 mt-2 mb-0">{{ event.location }}</div></div></div>
{% endif %}
</div>
{% if event.invitation_message %}
<div class="alert alert-info invitation-message">{{ event.invitation_message }}</div>
{% endif %}
<div class="d-flex flex-wrap gap-2 mb-4">
<a class="btn btn-outline-info" href="{{ url_for('main.public_invitation_ticket', token=guest.token) }}">Скачать билет</a>
{% if event.event_date %}
<a class="btn btn-outline-primary" href="{{ url_for('main.public_invitation_calendar', token=guest.token) }}">Добавить в календарь</a>
{% endif %}
</div>
{% if guest.rsvp_status == 'confirmed' %}
<div class="alert alert-success">Вы подтвердили участие.</div>
{% elif guest.rsvp_status == 'declined' %}
<div class="alert alert-secondary">Вы сообщили, что не сможете присутствовать.</div>
{% endif %}
{% if rsvp_open %}
<div class="eyebrow mt-5">RSVP</div><h2 class="h4">Подтвердите участие</h2>
{% if event.rsvp_deadline %}
<p class="text-muted">Ответ можно изменить до {{ event.rsvp_deadline | localtime('%d.%m.%Y %H:%M') }}.</p>
{% endif %}
<form method="POST">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<div class="mb-3">
<label class="form-label">Ваш ответ</label>
<div class="d-flex flex-wrap gap-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="rsvp_status" id="rsvp-confirmed" value="confirmed" {% if guest.rsvp_status == 'confirmed' %}checked{% endif %} required>
<label class="form-check-label" for="rsvp-confirmed">Буду участвовать</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="rsvp_status" id="rsvp-declined" value="declined" {% if guest.rsvp_status == 'declined' %}checked{% endif %} required>
<label class="form-check-label" for="rsvp-declined">Не смогу прийти</label>
</div>
</div>
</div>
<div class="mb-3">
<label for="dietary_requirements" class="form-label">Особенности питания</label>
<textarea class="form-control" id="dietary_requirements" name="dietary_requirements" maxlength="1000" rows="2">{{ guest.dietary_requirements or '' }}</textarea>
</div>
<div class="mb-3">
<label for="rsvp_comment" class="form-label">Комментарий организатору</label>
<textarea class="form-control" id="rsvp_comment" name="rsvp_comment" maxlength="1000" rows="3">{{ guest.rsvp_comment or '' }}</textarea>
</div>
<button class="btn btn-primary btn-lg" type="submit">Сохранить ответ</button>
</form>
{% elif event.rsvp_enabled %}
<div class="alert alert-warning">Приём ответов завершён.</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}