- Ajout de la vue et du fonctionement de l'inscription.

- Ajout de la vue connexion.
This commit is contained in:
2025-01-29 10:24:13 +01:00
parent f2dd1047a1
commit 6f78a8a4a3
12 changed files with 1268 additions and 174 deletions

View File

@ -24,15 +24,15 @@
<li
class="mb-4 lg:mb-0 lg:pe-2" data-twe-nav-item-ref>
<!-- Dashboard link -->
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-zinc-400" href="#" data-twe-nav-link-ref>Accueil</a>
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-zinc-400" href="/" data-twe-nav-link-ref>Accueil</a>
</li>
<!-- Team link -->
<li class="mb-4 lg:mb-0 lg:pe-2" data-twe-nav-item-ref>
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-neutral-400" href="#" data-twe-nav-link-ref>Découvrir</a>
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-neutral-400" href="/registration" data-twe-nav-link-ref>Inscription</a>
</li>
<!-- Projects link -->
<li class="mb-4 lg:mb-0 lg:pe-2" data-twe-nav-item-ref>
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-neutral-400" href="#" data-twe-nav-link-ref>Mes favoris</a>
<a class="text-neutral-500 transition duration-200 hover:text-neutral-700 hover:ease-in-out focus:text-neutral-700 disabled:text-black/30 motion-reduce:transition-none dark:text-neutral-200 dark:hover:text-neutral-300 dark:focus:text-neutral-300 lg:px-2 [&.active]:text-black/90 dark:[&.active]:text-neutral-400" href="/login" data-twe-nav-link-ref>Connexion</a>
</li>
</ul>
</div>

View File

@ -0,0 +1,50 @@
{# templates/login/login.html.twig #}
{% extends 'base.html.twig' %}
{% block title %}Connexion{% endblock %}
{% block body %}
<div class="min-h-screen flex items-center justify-center bg-gray-100">
<div class="max-w-lg w-full p-6 bg-white rounded-lg shadow-md">
<h2 class="text-2xl font-semibold text-center text-gray-700 mb-6">Connexion</h2>
<form action="{{ path('app_login') }}" method="post">
<div class="mb-4">
<label for="username" class="block text-sm font-medium text-gray-700">Email</label>
<div class="mt-1">
<input type="text" id="username" name="_username" value="{{ last_username }}" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" required autofocus>
</div>
</div>
<div class="mb-4">
<label for="password" class="block text-sm font-medium text-gray-700">Mot de passe</label>
<div class="mt-1">
<input type="password" id="password" name="_password" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" required>
</div>
</div>
{% if error %}
<div class="text-red-500 text-sm mt-2">
{{ error.messageKey|trans(error.messageData, 'security') }}
</div>
{% endif %}
<div class="mt-6 text-center">
<button type="submit" class="w-full px-4 py-2 bg-indigo-600 text-white font-semibold rounded-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500">
Se connecter
</button>
{% for type, messages in app.flashes %}
<div class="mb-4">
{% for message in messages %}
<div class="text-sm {% if type == 'success' %}text-green-600{% else %}text-red-600{% endif %}">
{{ message }}
</div>
{% endfor %}
</div>
{% endfor %}
</div>
</form>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,63 @@
{# templates/registration/register.html.twig #}
{% extends 'base.html.twig' %}
{% block title %}Inscription{% endblock %}
{% block body %}
<div class="min-h-screen flex items-center justify-center bg-gray-100">
<div class="max-w-lg w-full p-6 bg-white rounded-lg shadow-md">
<h2 class="text-2xl font-semibold text-center text-gray-700 mb-6">Créer un compte</h2>
{{ form_start(form) }}
<div class="mb-4">
{{ form_label(form.email, 'Email', {'label_attr': {'class': 'block text-sm font-medium text-gray-700'}}) }}
<div class="mt-1">
{{ form_widget(form.email, {'attr': {'class': 'w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm'}}) }}
</div>
{{ form_errors(form.email) }}
</div>
<div class="mb-4">
{{ form_label(form.password, 'Mot de passe', {'label_attr': {'class': 'block text-sm font-medium text-gray-700'}}) }}
<div class="mt-1">
{{ form_widget(form.password, {'attr': {'class': 'w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm'}}) }}
</div>
{{ form_errors(form.password) }}
</div>
<div class="mb-4">
{{ form_label(form.pseudo, 'Pseudo', {'label_attr': {'class': 'block text-sm font-medium text-gray-700'}}) }}
<div class="mt-1">
{{ form_widget(form.pseudo, {'attr': {'class': 'w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm'}}) }}
</div>
{{ form_errors(form.pseudo) }}
</div>
<div class="mb-4">
{{ form_label(form.firstname, 'Prénom', {'label_attr': {'class': 'block text-sm font-medium text-gray-700'}}) }}
<div class="mt-1">
{{ form_widget(form.firstname, {'attr': {'class': 'w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm'}}) }}
</div>
{{ form_errors(form.firstname) }}
</div>
<div class="mb-4">
{{ form_label(form.lastname, 'Nom', {'label_attr': {'class': 'block text-sm font-medium text-gray-700'}}) }}
<div class="mt-1">
{{ form_widget(form.lastname, {'attr': {'class': 'w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm'}}) }}
</div>
{{ form_errors(form.lastname) }}
</div>
<div class="mt-6 text-center">
{{ form_widget(form.submit, {
'attr': {'class': 'w-full px-4 py-2 bg-indigo-600 text-white font-semibold rounded-md hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500'}
}) }}
</div>
{{ form_end(form) }}
</div>
</div>
{% endblock %}