{% extends 'base.html.twig' %}
{% block title %}IMMY BEAUTY - Connexion{% endblock %}
{% block body %}
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-6">
<form id="login-form" method="post">
<h2 class="text-center mb-4">Mon espace fidélité</h2>
{% if error %}
<div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
<div class="form-group">
<label for="email">Email:</label>
<input type="text" id="email" name="_username" value="{{ last_username }}" class="form-control" required autofocus>
</div>
<div class="form-group">
<label for="password">Mot de passe:</label>
<input type="password" id="password" name="_password" class="form-control" required>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="remember_me" name="_remember_me" checked>
<label class="custom-control-label" for="remember_me">Rester connecté</label>
</div>
</div>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Se connecter</button>
</div>
<div class="text-center">
<span>Vous n'avez pas de compte? <a href="{{ path('inscription') }}">Inscrivez-vous</a></span>
<br/>
<a href="#" data-toggle="modal" data-target="#forgotPasswordModal">Mot de passe oublié?</a>
</div>
</form>
</div>
</div>
</div>
<section class="ftco-section">
<div class="container">
<div class="row">
<div class="col-md-4 ftco-animate">
<div class="media d-block text-center block-6 services">
<div class="icon d-flex mb-3"><span class="fas fa-user-plus"></span></div>
<div class="media-body">
<h3 class="heading">INSCRIVEZ VOUS</h3>
<p>Commencez votre voyage pour gagner des points et profiter d'avantages exclusifs.</p>
</div>
</div>
</div>
<div class="col-md-4 ftco-animate">
<div class="media d-block text-center block-6 services">
<div class="icon d-flex mb-3"><span class="fas fa-trophy"></span></div>
<div class="media-body">
<h3 class="heading">CUMULEZ DES POINTS</h3>
<p>Plus vous collectez de points, plus vous débloquez de récompenses et de privilèges spéciaux.</p>
</div>
</div>
</div>
<div class="col-md-4 ftco-animate">
<div class="media d-block text-center block-6 services">
<div class="icon d-flex mb-3"><span class="fas fa-gift"></span></div>
<div class="media-body">
<h3 class="heading">PROFITEZ DES AVANTAGES</h3>
<p>Échangez vos points contre des réductions, des produits gratuits ou des services spéciaux.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Le reste du code HTML reste inchangé -->
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script>
$(document).ready(function() {
$('#login-form').submit(function(event) {
event.preventDefault();
var formData = $(this).serialize();
$.ajax({
type: 'POST',
url: '{{ path('connexion') }}',
data: formData,
dataType: 'json',
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
success: function(response) {
console.log('Réponse reçue:', response);
if (response.success) {
toastr.success(response.message);
window.location.href = response.redirect;
} else {
toastr.error(response.message || "Erreur de connexion. Veuillez vérifier vos identifiants.");
}
},
error: function(xhr, status, error) {
console.error("Erreur AJAX:", status, error);
var errorMsg = "Une erreur est survenue lors de la connexion.";
if (xhr.responseJSON && xhr.responseJSON.message) {
errorMsg = xhr.responseJSON.message;
}
toastr.error(errorMsg);
}
});
});
});
</script>
{% endblock %}