370 lines
11 KiB
PHP
370 lines
11 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Dinas SIGD Login</title>
|
|
<script src="https://unpkg.com/@tailwindcss/browser@4"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<section class="hero-section">
|
|
<div class="hero-background">
|
|
<div class="hero-slides active">
|
|
<img src="https://images.pexels.com/photos/3780662/pexels-photo-3780662.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
|
|
alt="Forest landscape">
|
|
</div>
|
|
<div class="hero-slides">
|
|
<img src="https://images.pexels.com/photos/2126389/pexels-photo-2126389.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
|
|
alt="Mountain landscape">
|
|
</div>
|
|
<div class="hero-slides">
|
|
<img src="https://images.pexels.com/photos/6659466/pexels-photo-6659466.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
|
|
alt="Ocean landscape">
|
|
</div>
|
|
</div>
|
|
<div class="hero-overlay"></div>
|
|
<div class="hero-content">
|
|
<h1 class="hero-title">Platform digital untuk memantau, melaporkan, dan mengelola emisi gas rumah kaca
|
|
di wilayah Anda.</h1>
|
|
<div class="dots">
|
|
<div class="dot active" onclick="currentSlide(0)"></div>
|
|
<div class="dot" onclick="currentSlide(1)"></div>
|
|
<div class="dot" onclick="currentSlide(2)"></div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="login-section">
|
|
<!-- Login section content remains the same -->
|
|
<div class="login-container">
|
|
<h2 class="welcome-text">Selamat Datang!</h2>
|
|
<p class="mb-8 text-[#6C7F93]">di Portal Sistem Informasi Gas Rumah Kaca Provinsi DKI Jakarta</p>
|
|
|
|
<?php if($errors->has('error')): ?>
|
|
<div class="alert alert-danger">
|
|
<?php echo e($errors->first('error')); ?>
|
|
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if(session('status')): ?>
|
|
<div class="alert alert-success" role="alert">
|
|
<?php echo e(session('status')); ?>
|
|
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<form method="POST" action="<?php echo e(route('login')); ?>">
|
|
<?php echo csrf_field(); ?>
|
|
<div class="form-group">
|
|
<label class="form-label">Email</label>
|
|
<div class="form-input">
|
|
<input type="email" placeholder="johndoe@email.com"
|
|
style="border: none; outline: none; flex: 1; background-color: white !important; color: #000 !important;"
|
|
name="email" id="email" class="form-control" autofocus required
|
|
value="<?php echo e(old('email')); ?>">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Kata Sandi</label>
|
|
<div class="form-input">
|
|
|
|
<input type="password" name="password" id="password" placeholder="password"
|
|
style="border: none; outline: none; flex: 1;" required>
|
|
<button type="button" id="toggle-password"
|
|
style="background: none; border: none; cursor: pointer;">
|
|
<!-- <svg id="show-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<circle cx="10" cy="10" r="8.33" stroke="#5A6979" stroke-width="1.25"/>
|
|
</svg> -->
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="forgot-password">
|
|
<a href="<?php echo e(route('password.forgot')); ?>">Lupa Kata Sandi?</a>
|
|
</div>
|
|
|
|
<button type="submit" class="login-button">Masuk</button>
|
|
</form>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
<script>
|
|
let slideIndex = 0;
|
|
const slides = document.getElementsByClassName("hero-slides");
|
|
const dots = document.getElementsByClassName("dot");
|
|
const heroTitle = document.querySelector(".hero-title");
|
|
|
|
const titles = [
|
|
"Platform digital untuk memantau, melaporkan, dan mengelola emisi gas rumah kaca di wilayah Anda.",
|
|
"Langkah Awal Upaya Pengurangan Emisi Gas Rumah Kaca di DKI Jakarta.",
|
|
"Mari Berkontribusi Untuk Mendorong Pembangunan Berkelanjutan."
|
|
];
|
|
|
|
function updateContent(index) {
|
|
// Fade out the title
|
|
heroTitle.classList.add("fade");
|
|
|
|
// After fade out, update content and fade in
|
|
setTimeout(() => {
|
|
heroTitle.textContent = titles[index];
|
|
heroTitle.classList.remove("fade");
|
|
}, 500);
|
|
}
|
|
|
|
function showSlides() {
|
|
for (let i = 0; i < slides.length; i++) {
|
|
slides[i].classList.remove("active");
|
|
dots[i].classList.remove("active");
|
|
}
|
|
|
|
slideIndex++;
|
|
if (slideIndex >= slides.length) {
|
|
slideIndex = 0;
|
|
}
|
|
|
|
slides[slideIndex].classList.add("active");
|
|
dots[slideIndex].classList.add("active");
|
|
updateContent(slideIndex);
|
|
|
|
setTimeout(showSlides, 5000); // Change image every 5 seconds
|
|
}
|
|
|
|
function currentSlide(n) {
|
|
slideIndex = n - 1;
|
|
showSlides();
|
|
}
|
|
|
|
showSlides();
|
|
|
|
const passwordInput = document.getElementById("password-input");
|
|
const togglePassword = document.getElementById("toggle-password");
|
|
const showIcon = document.getElementById("show-icon");
|
|
|
|
togglePassword.addEventListener("click", () => {
|
|
const type = passwordInput.getAttribute("type") === "password" ? "text" : "password";
|
|
passwordInput.setAttribute("type", type);
|
|
|
|
// Ubah ikon
|
|
if (type === "text") {
|
|
showIcon.setAttribute("fill", "#6E39CB"); // Ganti ikon jika diperlukan
|
|
} else {
|
|
showIcon.setAttribute("fill", "none");
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<style>
|
|
/* Previous styles remain the same */
|
|
* {
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
font-family: 'Open Sans', sans-serif;
|
|
}
|
|
|
|
body {
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.container {
|
|
display: flex;
|
|
min-height: 100vh;
|
|
position: relative;
|
|
}
|
|
|
|
.hero-section {
|
|
flex: 1;
|
|
background: linear-gradient(0deg, #6E39CB 0%, #6E39CB 100%);
|
|
position: relative;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
padding: 2rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.hero-background {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 1;
|
|
}
|
|
|
|
.hero-slides {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
opacity: 0;
|
|
transition: opacity 1s ease-in-out;
|
|
}
|
|
|
|
.hero-slides.active {
|
|
opacity: 1;
|
|
}
|
|
|
|
.hero-slides img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.hero-content {
|
|
position: relative;
|
|
z-index: 2;
|
|
padding: 2rem;
|
|
color: white;
|
|
}
|
|
|
|
.hero-overlay {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 100%;
|
|
/* background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.8) 100%); */
|
|
z-index: 1;
|
|
}
|
|
|
|
.hero-title {
|
|
font-size: clamp(1.5rem, 4vw, 2rem);
|
|
font-family: 'Lato', sans-serif;
|
|
font-weight: 700;
|
|
margin-bottom: 2rem;
|
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
|
opacity: 1;
|
|
transition: opacity 0.5s ease-in-out;
|
|
}
|
|
|
|
.hero-title.fade {
|
|
opacity: 0;
|
|
}
|
|
|
|
.dots {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.dot {
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 50%;
|
|
border: 1.4px solid white;
|
|
cursor: pointer;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.dot.active {
|
|
background: white;
|
|
}
|
|
|
|
/* Rest of the previous styles remain the same */
|
|
.login-section {
|
|
flex: 1;
|
|
padding: 2rem;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.login-container {
|
|
width: 100%;
|
|
max-width: 400px;
|
|
}
|
|
|
|
.logo {
|
|
width: 42px;
|
|
height: auto;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.welcome-text {
|
|
color: #2D3439;
|
|
font-size: 1.75rem;
|
|
font-weight: 600;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
|
|
.form-group {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.form-label {
|
|
display: block;
|
|
color: #5A6979;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.form-input {
|
|
width: 100%;
|
|
padding: 0.875rem;
|
|
border: 1px solid #E1E6F0;
|
|
border-radius: 12px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.forgot-password {
|
|
text-align: right;
|
|
margin: 1rem 0;
|
|
}
|
|
|
|
.forgot-password a {
|
|
color: #404852;
|
|
text-decoration: none;
|
|
font-weight: 50;
|
|
}
|
|
|
|
.form-input input {
|
|
flex: 1;
|
|
}
|
|
|
|
button#toggle-password {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0;
|
|
}
|
|
|
|
.login-button {
|
|
width: 100%;
|
|
padding: 1rem;
|
|
background: #E7C55D;
|
|
color: white;
|
|
border: none;
|
|
border-radius: 12px;
|
|
cursor: pointer;
|
|
font-size: 0.875rem;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.login-button:hover {
|
|
background: #d4b54d;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.hero-section {
|
|
min-height: 30vh;
|
|
}
|
|
|
|
.login-section {
|
|
padding: 2rem 1rem;
|
|
}
|
|
}
|
|
</style>
|
|
</body>
|
|
|
|
</html><?php /**PATH /var/www/sigd/resources/views/auth/login.blade.php ENDPATH**/ ?>
|