first commit
This commit is contained in:
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
@@ -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 %}
|
||||
Reference in New Issue
Block a user