first commit

This commit is contained in:
root
2026-01-10 16:16:39 +03:00
commit 5f5a28e292
154 changed files with 21454 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="card shadow-sm" style="width: 100%; max-width: 400px;">
<div class="card-body p-4">
<div class="text-center mb-4">
<i class="fa-solid fa-circle-nodes fa-3x text-primary mb-2"></i>
<h3>Бизнес.Точка</h3>
<p class="text-muted">Вход в систему</p>
</div>
{{ form_open(base_url('/login'), 'class="needs-validation"') }}
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" name="email" value="{{ old.email|default('') }}" class="form-control" id="email" required autofocus>
</div>
<div class="mb-3">
<label for="password" class="form-label">Пароль</label>
<input type="password" name="password" value="{{ old.password|default('') }}" class="form-control" id="password" required>
</div>
<button type="submit" class="btn btn-primary w-100">Войти</button>
{{ form_close() }}
<div class="mt-3 text-center">
<small>Нет аккаунта? <a href="{{ base_url('/register') }}">Зарегистрироваться</a></small>
</div>
</div>
</div>
{% endblock %}
+35
View File
@@ -0,0 +1,35 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="card shadow-sm" style="width: 100%; max-width: 400px;">
<div class="card-body p-4">
<h3 class="text-center mb-4">Регистрация</h3>
{# ИСПОЛЬЗУЕМ МАКРОС form_open. CSRF добавится АВТОМАТИЧЕСКИ #}
{{ form_open(base_url('/register'), 'class="needs-validation"') }}
<div class="mb-3">
<label for="name" class="form-label">Ваше имя</label>
<input type="text" name="name" class="form-control" id="name" required value="{{ old.name|default('') }}">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" name="email" class="form-control" id="email" required value="{{ old.email|default('') }}">
</div>
<div class="mb-3">
<label for="password" class="form-label">Пароль</label>
<input type="password" name="password" class="form-control" id="password" required minlength="6">
</div>
<button type="submit" class="btn btn-primary w-100">Создать аккаунт</button>
{# ЗАКРЫВАЕМ ФОРМУ МАКРОСОМ #}
{{ form_close() }}
<div class="mt-3 text-center">
<small>Уже есть аккаунт? <a href="{{ base_url('/login') }}">Войти</a></small>
</div>
</div>
</div>
{% endblock %}
+41
View File
@@ -0,0 +1,41 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="container d-flex justify-content-center align-items-center" style="min-height: 80vh;">
<div class="card shadow-lg border-0" style="max-width: 500px; width: 100%;">
<div class="card-body p-5 text-center">
<div class="mb-4">
<i class="fa-solid fa-envelope-circle-check display-1 text-primary"></i>
</div>
<h3 class="mb-3">Регистрация успешна!</h3>
<p class="text-muted mb-4">
Мы отправили письмо с ссылкой для подтверждения email на вашу почту.
</p>
<div class="alert alert-info text-start">
<i class="fa-solid fa-info-circle me-2"></i>
<strong>Что делать дальше:</strong>
<ol class="mb-0 mt-2">
<li>Откройте почтовый ящик</li>
<li>Найдите письмо от нас</li>
<li>Нажмите на ссылку для подтверждения</li>
</ol>
</div>
<div class="mb-4">
<a href="/auth/resend-verification" class="text-muted small">
<i class="fa-solid fa-rotate-right me-1"></i>Не получили письмо? Отправить снова
</a>
</div>
<hr class="my-4">
<a href="/" class="btn btn-outline-secondary">
<i class="fa-solid fa-home me-2"></i>На главную
</a>
</div>
</div>
</div>
{% endblock %}
+41
View File
@@ -0,0 +1,41 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="container d-flex justify-content-center align-items-center" style="min-height: 80vh;">
<div class="card shadow-lg border-0" style="max-width: 500px; width: 100%;">
<div class="card-body p-5">
<div class="text-center mb-4">
<i class="fa-solid fa-envelope-open-text display-4 text-primary"></i>
<h4 class="mt-3">Повторная отправка письма</h4>
<p class="text-muted">Введите ваш email для получения новой ссылки подтверждения</p>
</div>
{% from 'macros/forms.twig' import form_open, form_close %}
{{ form_open(base_url('/auth/resend-verification')) }}
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" name="email" class="form-control {{ errors.email is defined ? 'is-invalid' : '' }}"
id="email" required value="{{ old.email|default('') }}"
placeholder="name@example.com">
{% if errors.email is defined %}
<div class="invalid-feedback">{{ errors.email }}</div>
{% endif %}
</div>
<div class="d-grid gap-2">
<button type="submit" class="btn btn-primary">
<i class="fa-solid fa-paper-plane me-2"></i>Отправить письмо
</button>
<a href="/" class="btn btn-outline-secondary">
На главную
</a>
</div>
{{ form_close() }}
</div>
</div>
</div>
{% endblock %}
+36
View File
@@ -0,0 +1,36 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="container d-flex justify-content-center align-items-center" style="min-height: 80vh;">
<div class="card shadow-lg border-0" style="max-width: 500px; width: 100%;">
<div class="card-body p-5 text-center">
<div class="mb-4">
<i class="fa-solid fa-triangle-exclamation display-1 text-warning"></i>
</div>
<h3 class="mb-3">Ошибка подтверждения</h3>
<div class="alert alert-warning text-start">
{{ message|default('Недействительная ссылка для подтверждения.') }}
</div>
<div class="mb-4">
<a href="/auth/resend-verification" class="btn btn-outline-primary">
<i class="fa-solid fa-envelope me-2"></i>Запросить ссылку повторно
</a>
</div>
<hr class="my-4">
<div class="d-flex justify-content-center gap-3">
<a href="/" class="btn btn-outline-secondary">
<i class="fa-solid fa-home me-2"></i>На главную
</a>
<a href="/login" class="btn btn-outline-secondary">
<i class="fa-solid fa-sign-in-alt me-2"></i>Войти
</a>
</div>
</div>
</div>
</div>
{% endblock %}
+33
View File
@@ -0,0 +1,33 @@
{% extends 'layouts/public.twig' %}
{% block content %}
<div class="container d-flex justify-content-center align-items-center" style="min-height: 80vh;">
<div class="card shadow-lg border-0" style="max-width: 500px; width: 100%;">
<div class="card-body p-5 text-center">
<div class="mb-4">
<i class="fa-solid fa-circle-check display-1 text-success"></i>
</div>
<h3 class="mb-3">Email подтверждён!</h3>
<p class="text-muted mb-4">
{% if name %}
{{ name }}, спасибо за подтверждение.
{% else %}
Спасибо за подтверждение.
{% endif %}
</p>
<p class="text-muted mb-4">
Теперь вы можете войти в систему и начать работу.
</p>
<div class="d-grid gap-2">
<a href="/login" class="btn btn-primary btn-lg">
<i class="fa-solid fa-sign-in-alt me-2"></i>Войти
</a>
</div>
</div>
</div>
</div>
{% endblock %}