English
Spanish
French
0
Notifications
0 Non lues
Aucune notification
Voir toutes
Aucune nouvelle notification
Raccourcis
Tableau de bord
Profil
Paramètres
Voir toutes les apps
Utilisateur
Utilisateur
Profil
Messages
25
Paramètres
Solde
$47.12
Support
Se déconnecter
Dashboard
Dashboard
Éditer auth/login_restored.php
<?= view('templates/header') ?> <?= view('components/navbar') ?> <!-- Include Remixicon CSS --> <link href="<?= base_url('dashboard/css/icons.min.css') ?>" rel="stylesheet"> <!-- Styles personnalisés pour la page de connexion --> <style> body { background-color: #f8f9fa; margin-top: 100px !important; } .login-container { min-height: calc(100vh - 100px); display: flex; align-items: center; justify-content: center; padding: 30px 0; } .login-card { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); position: relative; overflow: hidden; max-width: 450px; width: 100%; } .login-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #a4c639, #4CAF50, #a4c639); } .form-control { border-radius: 12px; border: 2px solid #e1e5e9; transition: all 0.3s ease; font-size: 16px; padding: 12px 16px; } .form-control:focus { border-color: #a4c639; box-shadow: 0 0 0 0.2rem rgba(164, 198, 57, 0.25); } .input-group { border-radius: 12px; overflow: hidden; } .input-group-text { background: #f8f9fa; border: 2px solid #e1e5e9; border-right: none; color: #a4c639; } .btn-outline-secondary { background: #f8f9fa; border: 2px solid #e1e5e9; border-left: none; color: #6c757d; transition: all 0.3s ease; } .btn-outline-secondary:hover { background: #e9ecef; color: #a4c639; border-color: #a4c639; } .btn-primary { background: #a4c639; border: none; border-radius: 12px; padding: 12px 24px; font-weight: 600; transition: all 0.3s ease; position: relative; overflow: hidden; } .btn-primary:hover { background: #4CAF50; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(164, 198, 57, 0.3); } .btn-primary::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.5s; } .btn-primary:hover::before { left: 100%; } .logo-container { text-align: center; margin-bottom: 30px; } .form-label { font-weight: 600; color: #2c3e50; margin-bottom: 8px; } .alert { border-radius: 12px; border: none; background: rgba(220, 53, 69, 0.1); color: #dc3545; backdrop-filter: blur(10px); } .connection-title { font-size: 28px; font-weight: 700; color: #2c3e50; margin-bottom: 10px; text-align: center; } .connection-subtitle { color: #7f8c8d; margin-bottom: 30px; text-align: center; } .register-link { color: #a4c639; text-decoration: none; font-weight: 600; transition: color 0.3s ease; } .register-link:hover { color: #4CAF50; } @media (max-width: 768px) { .login-card { margin: 20px; border-radius: 16px; } .connection-title { font-size: 24px; } .login-container { padding: 20px 0; } } </style> <div class="login-container"> <div class="container"> <div class="row justify-content-center"> <div class="col-12"> <div class="login-card mx-auto"> <div class="card-body p-5"> <div class="logo-container"> <h2 class="connection-title">Connexion</h2> <p class="connection-subtitle">Connectez-vous à votre compte</p> </div> <?php if (session()->has('error')): ?> <div class="alert alert-danger"> <i class="ri-error-warning-line me-2"></i> <?= session('error') ?> </div> <?php endif; ?> <form action="<?= base_url('login/attempt') ?>" method="post"> <div class="mb-3"> <label for="email" class="form-label"> <i class="ri-mail-line me-2"></i>Email </label> <input type="email" class="form-control form-control-lg" id="email" name="email" placeholder="Entrez votre email" required> </div> <div class="mb-4"> <label for="mot_de_passe" class="form-label"> <i class="ri-lock-line me-2"></i>Mot de passe </label> <div class="input-group"> <span class="input-group-text"> <i class="ri-lock-line"></i> </span> <input type="password" class="form-control form-control-lg" id="mot_de_passe" name="mot_de_passe" placeholder="Entrez votre mot de passe" required> <button class="btn btn-outline-secondary" type="button" id="togglePassword" title="Afficher/masquer le mot de passe"> <i class="ri-eye-line" id="toggleIcon"></i> </button> </div> </div> <div class="mb-4"> <div class="form-check"> <input class="form-check-input" type="checkbox" id="remember" name="remember"> <label class="form-check-label" for="remember"> Se souvenir de moi </label> </div> </div> <div class="d-grid"> <button type="submit" class="btn btn-primary btn-lg"> <i class="ri-login-box-line me-2"></i>Se connecter </button> </div> </form> <div class="text-center mt-4"> <p class="mb-0"> Pas encore de compte ? <a href="<?= base_url('register') ?>" class="register-link">S'inscrire</a> </p> </div> </div> </div> </div> </div> </div> </div> <?= view('components/footer') ?> <?= view('components/scripts') ?> <!-- Script pour basculer l'affichage/masquage du mot de passe --> <script> document.getElementById('togglePassword').addEventListener('click', function () { var passwordInput = document.getElementById('mot_de_passe'); var toggleIcon = document.getElementById('toggleIcon'); if (passwordInput.type === 'password') { passwordInput.type = 'text'; // Remplacer l'icône par l'icône "œil barré" toggleIcon.classList.remove('ri-eye-line'); toggleIcon.classList.add('ri-eye-off-line'); } else { passwordInput.type = 'password'; // Restaurer l'icône "œil" toggleIcon.classList.remove('ri-eye-off-line'); toggleIcon.classList.add('ri-eye-line'); } }); // Animation d'entrée pour les éléments window.addEventListener('load', function() { const card = document.querySelector('.login-card'); card.style.opacity = '0'; card.style.transform = 'translateY(30px)'; setTimeout(() => { card.style.transition = 'all 0.6s ease'; card.style.opacity = '1'; card.style.transform = 'translateY(0)'; }, 200); }); </script>
Annuler
Enregistrer
Switcher
Theme Styles
Theme Colors
Theme Color Mode:
Light
Dark
Menu Colors: