TIF_NGANJUK_E41220341/resources/views/auth/login.blade.php

298 lines
8.9 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login - SMK Nasional Nganjuk</title>
<!-- Favicons -->
<link href="{{ asset('assets/logobaru.png') }}" rel="icon">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://unpkg.com/bootstrap@5.3.3/dist/css/bootstrap.min.css">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<style>
body {
background: #800000;
background-image: radial-gradient(#9a1d1d 15%, transparent 16%),
radial-gradient(#9a1d1d 15%, transparent 16%);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
margin: 0;
}
.login-wrapper {
width: 100%;
max-width: 450px;
padding: 15px;
}
.logo-area {
text-align: center;
margin-bottom: 30px;
color: white;
}
.logo-circle {
width: 80px;
height: 80px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 15px;
padding: 10px;
box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.logo-circle img {
max-width: 100%;
height: auto;
}
.main-title {
font-size: 24px;
font-weight: bold;
margin-bottom: 5px;
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.sub-title {
font-size: 14px;
opacity: 0.9;
}
.card-custom {
border: none;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}
.card-header-custom {
background-color: #FFC107;
padding: 20px;
text-align: center;
font-weight: bold;
font-size: 18px;
color: #333;
border-bottom: none;
}
.card-body-custom {
background: white;
padding: 30px;
}
.form-label {
font-size: 14px;
font-weight: 600;
color: #333;
margin-bottom: 8px;
display: block;
}
.form-control {
border-radius: 8px;
padding: 10px 15px;
border: 1px solid #ced4da;
}
.form-control:focus {
border-color: #800000;
box-shadow: 0 0 0 0.25rem rgba(128, 0, 0, 0.25);
}
.btn-custom-red {
background-color: #D30000;
border-color: #D30000;
color: white;
font-weight: bold;
border-radius: 8px;
padding: 12px;
width: 100%;
transition: all 0.3s;
}
.btn-custom-red:hover {
background-color: #b00000;
border-color: #b00000;
}
.demo-login-box {
background-color: #FFF9E6;
border: 1px solid #FFECB3;
border-radius: 8px;
padding: 15px;
margin-top: 25px;
font-size: 13px;
}
.demo-title {
color: #dfa600;
font-weight: bold;
margin-bottom: 5px;
display: flex;
align-items: center;
gap: 5px;
}
.back-link {
text-align: center;
margin-top: 25px;
}
.back-link a {
color: white;
text-decoration: none;
font-size: 14px;
display: inline-flex;
align-items: center;
gap: 5px;
transition: opacity 0.2s;
text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.back-link a:hover {
opacity: 0.8;
text-decoration: underline;
}
.forgot-password-link {
font-size: 13px;
color: #666;
text-decoration: none;
transition: color 0.2s;
}
.forgot-password-link:hover {
color: #D30000;
text-decoration: underline;
}
.password-toggle {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
color: #6c757d;
background: none;
border: none;
padding: 0;
z-index: 10;
}
.password-toggle:hover {
color: #800000;
}
.password-input-wrapper {
position: relative;
}
</style>
</head>
<body>
<div class="login-wrapper">
<div class="logo-area">
<div class="logo-circle">
<img src="{{ asset('assets/logobaru.png') }}" alt="Logo">
</div>
<div class="main-title">Admin Panel</div>
<div class="sub-title">SMK Nasional Nganjuk</div>
</div>
<div class="card card-custom">
<div class="card-header-custom">
Login Administrator
</div>
<div class="card-body card-body-custom">
@if (session('status'))
<div class="alert alert-success fs-6" role="alert">
{{ session('status') }}
</div>
@endif
<form action="{{ route('login') }}" method="POST">
@csrf
<div class="mb-3">
<label for="email" class="form-label"><i class="bi bi-person me-1"></i> Username</label>
<input type="email" class="form-control @error('email') is-invalid @enderror"
name="email" id="email" value="{{ old('email') }}"
placeholder="Masukkan username/email" required>
@error('email')
<div class="text-danger small mt-1">
<strong>{{ $message }}</strong>
</div>
@enderror
</div>
<div class="mb-3">
<label for="password" class="form-label"><i class="bi bi-lock me-1"></i> Password</label>
<div class="password-input-wrapper">
<input type="password" class="form-control @error('password') is-invalid @enderror"
name="password" id="password" placeholder="Masukkan password" required>
<button type="button" class="password-toggle" onclick="togglePassword('password', 'togglePasswordBtn')">
<i class="bi bi-eye-slash" id="togglePasswordBtn"></i>
</button>
</div>
@error('password')
<div class="text-danger small mt-1">
<strong>{{ $message }}</strong>
</div>
@enderror
</div>
<div class="d-flex justify-content-end mb-4">
@if (Route::has('password.request'))
<a class="forgot-password-link" href="{{ route('password.request') }}">
Lupa katasandi?
</a>
@endif
</div>
<div class="d-grid">
<button type="submit" class="btn btn-custom-red">Login</button>
</div>
</form>
</div>
</div>
<div class="back-link">
<a href="{{ url('/') }}">
&larr; Kembali ke Beranda
</a>
</div>
</div>
<script>
function togglePassword(inputId, btnId) {
const passwordInput = document.getElementById(inputId);
const toggleBtn = document.getElementById(btnId);
if (passwordInput.type === 'password') {
passwordInput.type = 'text';
toggleBtn.classList.remove('bi-eye-slash');
toggleBtn.classList.add('bi-eye');
} else {
passwordInput.type = 'password';
toggleBtn.classList.remove('bi-eye');
toggleBtn.classList.add('bi-eye-slash');
}
}
</script>
</body>
</html>