feat: mise en page de la page login et page accueil
This commit is contained in:
@@ -1,34 +1,92 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Page de connexion | Association KAZ</title>
|
||||
|
||||
{% block title %}Se connecter | {{ parent() }}{% endblock %}
|
||||
{% block importmap %}{{ importmap('app') }}{% endblock %}
|
||||
</head>
|
||||
|
||||
{% block body %}
|
||||
<form method="post">
|
||||
{% if error %}
|
||||
<div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
|
||||
{% endif %}
|
||||
<body class="min-h-screen bg-bg-primaire font-sora text-text flex flex-col justify-between items-center p-4 sm:p-8">
|
||||
<div class="flex-none"></div>
|
||||
<main class="w-full max-w-md bg-white p-8 rounded-xl shadow-lg border border-gris-clair">
|
||||
|
||||
{% if app.user %}
|
||||
<div class="mb-3">
|
||||
You are logged in as {{ app.user.userIdentifier }}, <a href="{{ logout_path() }}">Logout</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<header class="flex justify-center mb-6">
|
||||
<img src="{{ asset('img/logo.svg') }}"
|
||||
alt="Logo association"
|
||||
class="h-16 md:h-24 w-auto object-contain">
|
||||
</header>
|
||||
|
||||
<h1 class="h3 mb-3 font-weight-normal">Se connecter à mon tableau de bord KAZ</h1>
|
||||
<label for="inputEmail">Email :</label>
|
||||
<input type="email" value="{{ last_username }}" name="_username" id="inputEmail" class="form-control" autocomplete="email" required autofocus>
|
||||
<label for="inputPassword">Mot de passe : </label>
|
||||
<input type="password" name="_password" id="inputPassword" class="form-control" autocomplete="current-password" required>
|
||||
<input type="hidden" name="_csrf_token" data-controller="csrf-protection" value="{{ csrf_token('authenticate') }}">
|
||||
<h1 class="text-4xl text-center mb-8 font-caveat text-text">Se connecter</h1>
|
||||
|
||||
<div class="checkbox mb-3">
|
||||
<label>
|
||||
<input type="checkbox" name="_remember_me"> Se souvenir de moi
|
||||
</label>
|
||||
</div>
|
||||
{% if error %}
|
||||
<div class="bg-danger/10 border border-danger text-danger px-4 py-3 rounded-lg mb-6 text-sm" role="alert">
|
||||
{{ error.messageKey|trans(error.messageData, 'security') }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<button class="btn btn-lg btn-primary" type="submit">
|
||||
Se connecter
|
||||
</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
<form method="post" class="space-y-5">
|
||||
{# ajout du token csrf pour 2 fois plus de plaisir en toute sécurité #}
|
||||
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
|
||||
|
||||
{# champ adresse-mail #}
|
||||
<div class="space-y-1">
|
||||
<label for="username" class="block text-sm font-semibold text-text">
|
||||
Adresse-mail :
|
||||
</label>
|
||||
<input type="email" value="{{ last_username }}" name="_username" id="username"
|
||||
class="w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-shadow"
|
||||
placeholder="Saisissez votre e-mail" required autofocus autocomplete="email">
|
||||
</div>
|
||||
|
||||
{# champ "mot de passe" #}
|
||||
<div class="space-y-1">
|
||||
<label for="password" class="block text-sm font-semibold text-text">
|
||||
Mot de passe :
|
||||
</label>
|
||||
<input type="password" name="_password" id="password"
|
||||
class="w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-shadow"
|
||||
placeholder="Saisissez votre mot de passe" required autocomplete="current-password">
|
||||
</div>
|
||||
|
||||
{# checkbox "se souvenir de moi" #}
|
||||
<div class="flex items-center pt-1">
|
||||
<input type="checkbox" name="_remember_me" id="remember_me"
|
||||
class="w-4 h-4 text-bouton border-gris-clair rounded focus:ring-bouton cursor-pointer">
|
||||
<label for="remember_me" class="ml-2 text-sm text-gris-fonce cursor-pointer select-none">
|
||||
Se souvenir de moi
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col sm:flex-row gap-4 pt-2">
|
||||
<button type="submit"
|
||||
class="flex-1 py-3 bg-bouton hover:bg-bouton-hover text-text font-bold rounded-lg shadow transition-colors">
|
||||
Se connecter
|
||||
</button>
|
||||
|
||||
<a href="https://kaz.bzh/offres/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="flex-1 flex items-center justify-center py-3 border border-gris-moyen text-text hover:bg-gris-clair font-bold rounded-lg transition-colors text-center">
|
||||
M'inscrire
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="text-center pt-4">
|
||||
{# TODO : faire route vers mot de passe oublié #}
|
||||
<a href="#"
|
||||
class="text-sm font-semibold text-title hover:text-bouton transition-colors">
|
||||
Mot de passe oublié ?
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<footer class="mt-8 text-center text-sm text-gris-fonce w-full">
|
||||
© {{ 'now'|date('Y') }} | Kaz, le numérique sobre, libre, éthique et local.
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user