Files
dockergprompt/resources/views/auth/reset-password.blade.php
2026-09-01 09:22:30 -03:00

82 lines
4.3 KiB
PHP
Executable File

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Redefinir Senha - GPrompt</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<style>
body { font-family: 'Roboto', sans-serif; background-color: #f8f9fc; }
.reset-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.reset-card { border: none; box-shadow: 0 2px 15px rgba(0,0,0,0.1); border-radius: 10px; width: 100%; max-width: 400px; }
.reset-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 10px 10px 0 0; padding: 2rem; text-align: center; }
.password-toggle { cursor: pointer; position: absolute; right: 10px; top: 38px; }
</style>
</head>
<body>
<div class="reset-container d-flex flex-column">
<div class="reset-card flex-grow-0">
<div class="reset-header">
<i class="bi bi-shield-lock" style="font-size: 3rem;"></i>
<h2 class="mt-2">Redefinir Senha</h2>
<p>Digite sua nova senha</p>
</div>
<div class="card-body p-4">
<form method="POST" action="{{ route('password.update') }}">
@csrf
<input type="hidden" name="token" value="{{ $token ?? request()->route('token') }}">
<div class="mb-3">
<label for="email" class="form-label">E-mail</label>
<input type="email" class="form-control" id="email" name="email" value="{{ old('email', $email ?? request()->email) }}" required autofocus autocomplete="email">
@error('email') <div class="text-danger small">{{ $message }}</div> @enderror
</div>
<div class="mb-3 position-relative">
<label for="password" class="form-label">Nova Senha</label>
<input type="password" class="form-control" id="password" name="password" required autocomplete="new-password">
<i class="bi bi-eye-slash password-toggle" id="togglePassword"></i>
@error('password') <div class="text-danger small">{{ $message }}</div> @enderror
</div>
<div class="mb-3 position-relative">
<label for="password_confirmation" class="form-label">Confirmar Nova Senha</label>
<input type="password" class="form-control" id="password_confirmation" name="password_confirmation" required autocomplete="new-password">
<i class="bi bi-eye-slash password-toggle" id="toggleConfirmPassword"></i>
</div>
<button type="submit" class="btn btn-primary w-100">Redefinir Senha</button>
</form>
</div>
</div>
@include('components.app-footer')
</div>
@include('components.cookie-consent-banner')
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
initResetPassword();
});
} else {
initResetPassword();
}
function initResetPassword() {
const toggles = document.querySelectorAll('.password-toggle');
toggles.forEach(toggle => {
toggle.addEventListener('click', function() {
const input = this.previousElementSibling;
const type = input.getAttribute('type') === 'password' ? 'text' : 'password';
input.setAttribute('type', type);
this.classList.toggle('bi-eye');
this.classList.toggle('bi-eye-slash');
});
});
}
</script>
</body>
</html>