Initial commit: InviteMe production redesign
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Проверка приглашения — InviteMe{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="checkin-container">
|
||||
<header class="page-header"><div><div class="eyebrow">Операционный режим</div><h1 class="page-title">Контроль входа</h1><p class="page-subtitle">Сканируйте QR-код или быстро найдите гостя по имени.</p></div>{% if checkin_event %}<span class="badge bg-success">● {{ checkin_event.name }}</span>{% endif %}</header>
|
||||
|
||||
{% if active_events %}
|
||||
<div class="row justify-content-center mb-4">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Выберите мероприятие</h5>
|
||||
<form method="POST" action="{{ url_for('main.check_in', token=token) }}">
|
||||
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
|
||||
<div class="mb-3">
|
||||
<select id="event-select" name="event_id" class="form-select" data-auto-submit>
|
||||
<option value="">-- Мероприятие --</option>
|
||||
{% for event in active_events %}
|
||||
<option value="{{ event.id }}" {% if checkin_event and checkin_event.id == event.id %}selected{% endif %}>
|
||||
{{ event.name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<noscript><button type="submit" class="btn btn-primary">Выбрать</button></noscript>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if checkin_event %}
|
||||
<div class="alert alert-info">Работаем с мероприятием: <strong>{{ checkin_event.name }}</strong></div>
|
||||
{% endif %}
|
||||
|
||||
<div class="checkin-grid">
|
||||
<div>
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<div class="eyebrow">Камера</div><h2 class="h5 card-title">Сканировать QR-код</h2>
|
||||
<div class="mb-3">
|
||||
<label for="camera-select" class="form-label">Камера</label>
|
||||
<select id="camera-select" class="form-select">
|
||||
<option value="">-- Выберите камеру --</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="qr-reader" class="qr-reader"></div>
|
||||
<button id="start-scan" class="btn btn-primary w-100 mt-2">Включить камеру</button>
|
||||
<button id="stop-scan" class="btn btn-secondary w-100 mt-2 d-none">Выключить камеру</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<div class="eyebrow">Ручной поиск</div><h2 class="h5 card-title">Найти гостя по ФИО</h2>
|
||||
<input type="text" id="search-input" class="form-control" placeholder="Введите фамилию..." autocomplete="off">
|
||||
<div id="search-results" class="list-group mt-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="guest-card" class="card mt-4 d-none">
|
||||
<div class="card-body text-center">
|
||||
<img id="guest-photo" src="" alt="Фото гостя" class="guest-photo mb-3">
|
||||
<h2 id="guest-name" class="card-title"></h2>
|
||||
<p id="guest-department" class="lead"></p>
|
||||
<p id="guest-position" class="text-muted"></p>
|
||||
<p id="guest-email" class="text-muted"></p>
|
||||
<p id="guest-event" class="text-info"></p>
|
||||
|
||||
<div id="check-in-status" class="alert d-none"></div>
|
||||
|
||||
<button id="check-in-btn" class="btn btn-success btn-lg w-100">Отметить вход</button>
|
||||
<button id="undo-check-in-btn" class="btn btn-outline-warning w-100 mt-2 d-none">Отменить отметку входа</button>
|
||||
<button id="reset-btn" class="btn btn-outline-secondary w-100 mt-2">Сбросить</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="https://unpkg.com/html5-qrcode@2.3.8/html5-qrcode.min.js"
|
||||
integrity="sha384-c9d8RFSL+u3exBOJ4Yp3HUJXS4znl9f+z66d1y54ig+ea249SpqR+w1wyvXz/lk+"
|
||||
crossorigin="anonymous"></script>
|
||||
<script src="{{ url_for('static', filename='js/checkin.js') }}"></script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user