130 lines
9.0 KiB
PHP
130 lines
9.0 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="id">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>WebGIS Portal - SPBU, Kemiskinan, Jalan & Parsil</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
<style>
|
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
body { font-family: 'Inter', sans-serif; background: #0f172a; color: #f1f5f9; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow-x: hidden; overflow-y: auto; padding: 48px 0 80px; }
|
|
|
|
/* Background decorative */
|
|
.bg-pattern { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: radial-gradient(#334155 1px, transparent 1px); background-size: 40px 40px; opacity: 0.3; z-index: -1; }
|
|
.glow { position: absolute; width: 600px; height: 600px; background: radial-gradient(circle, rgba(59,130,246,0.15) 0%, rgba(15,23,42,0) 70%); top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; pointer-events: none; }
|
|
|
|
header { text-align: center; margin-bottom: 48px; z-index: 10; padding: 0 20px; }
|
|
header h1 { font-size: clamp(32px, 5vw, 42px); font-weight: 800; background: linear-gradient(135deg, #60a5fa, #a855f7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 16px; }
|
|
header p { font-size: clamp(15px, 2.4vw, 18px); color: #cbd5e1; max-width: 640px; margin: 0 auto; line-height: 1.6; }
|
|
|
|
.cards-container { display: flex; gap: 28px; max-width: 1160px; width: 100%; padding: 0 20px; z-index: 10; flex-wrap: wrap; justify-content: center; }
|
|
|
|
.choice-card { background: rgba(30, 41, 59, 0.7); border: 1px solid #334155; border-radius: 20px; padding: 36px 28px; width: calc(33.333% - 20px); min-width: 300px; max-width: 360px; text-align: center; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); display: flex; flex-direction: column; align-items: center; text-decoration: none; color: inherit; }
|
|
.choice-card:hover { transform: translateY(-10px); border-color: #3b82f6; box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 0 20px rgba(59,130,246,0.2); }
|
|
|
|
.choice-card .icon-box { width: 80px; height: 80px; border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 36px; margin-bottom: 24px; transition: all 0.3s ease; }
|
|
|
|
/* SPBU Card Styles */
|
|
.card-spbu:hover .icon-box { background: rgba(59, 130, 246, 0.2); color: #60a5fa; box-shadow: 0 0 15px rgba(59,130,246,0.5); }
|
|
.card-spbu .icon-box { background: rgba(59, 130, 246, 0.1); color: #3b82f6; }
|
|
|
|
/* Poverty Card Styles */
|
|
.card-poverty:hover .icon-box { background: rgba(239, 68, 68, 0.2); color: #f87171; box-shadow: 0 0 15px rgba(239,68,68,0.5); }
|
|
.card-poverty .icon-box { background: rgba(239, 68, 68, 0.1); color: #ef4444; }
|
|
|
|
/* Jalan & Parsil Card Styles */
|
|
.card-land:hover .icon-box { background: rgba(20, 184, 166, 0.2); color: #5eead4; box-shadow: 0 0 15px rgba(20,184,166,0.5); }
|
|
.card-land .icon-box { background: rgba(20, 184, 166, 0.1); color: #14b8a6; }
|
|
|
|
.choice-card h2 { font-size: 24px; font-weight: 700; margin-bottom: 12px; color: #f8fafc; }
|
|
|
|
.choice-card h2 { font-size: 24px; font-weight: 700; margin-bottom: 12px; color: #f8fafc; }
|
|
.choice-card p { font-size: 15px; color: #94a3b8; line-height: 1.6; margin-bottom: 24px; flex-grow: 1; }
|
|
|
|
.badge { display: inline-block; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
|
|
.badge-public { background: rgba(34, 197, 94, 0.1); color: #4ade80; border: 1px solid rgba(34, 197, 94, 0.2); }
|
|
.badge-private { background: rgba(245, 158, 11, 0.1); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.2); }
|
|
|
|
/* Admin Card Styles */
|
|
.admin-card-container { width: 100%; max-width: 1160px; padding: 0 20px; margin-top: 40px; z-index: 10; }
|
|
.admin-card { display: flex; align-items: center; background: linear-gradient(135deg, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 0.9)); border: 1px solid #3b82f6; border-radius: 20px; padding: 24px 32px; text-decoration: none; color: inherit; transition: all 0.3s ease; backdrop-filter: blur(10px); box-shadow: 0 10px 30px rgba(0,0,0,0.3), 0 0 15px rgba(59,130,246,0.1); position: relative; overflow: hidden; }
|
|
.admin-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(59,130,246,0.2), transparent); opacity: 0; transition: opacity 0.3s ease; z-index: 0; }
|
|
.admin-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,0.4), 0 0 25px rgba(59,130,246,0.3); border-color: #60a5fa; }
|
|
.admin-card:hover::before { opacity: 1; }
|
|
.admin-card > * { z-index: 1; position: relative; }
|
|
.admin-icon { width: 60px; height: 60px; background: rgba(59, 130, 246, 0.1); color: #60a5fa; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 26px; flex-shrink: 0; margin-right: 24px; box-shadow: 0 0 15px rgba(59,130,246,0.3); }
|
|
.admin-text { flex-grow: 1; text-align: left; }
|
|
.admin-text h3 { font-size: 20px; font-weight: 700; color: #f8fafc; margin-bottom: 6px; }
|
|
.admin-text p { font-size: 14px; color: #cbd5e1; line-height: 1.5; margin: 0; }
|
|
.admin-arrow { width: 40px; height: 40px; background: #3b82f6; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; transition: transform 0.3s ease; }
|
|
.admin-card:hover .admin-arrow { transform: translateX(5px); background: #2563eb; }
|
|
|
|
@media (max-width: 768px) {
|
|
body { justify-content: flex-start; padding: 32px 0 86px; }
|
|
header { margin-bottom: 28px; }
|
|
.cards-container { gap: 18px; padding: 0 14px; }
|
|
.choice-card { width: 100%; min-width: 0; max-width: 430px; padding: 28px 22px; }
|
|
.choice-card .icon-box { width: 68px; height: 68px; font-size: 30px; margin-bottom: 18px; }
|
|
.choice-card h2 { font-size: 21px; }
|
|
.admin-card-container { padding: 0 14px; margin-top: 24px; }
|
|
.admin-card { flex-direction: column; text-align: center; padding: 24px 20px; }
|
|
.admin-icon { margin-right: 0; margin-bottom: 16px; }
|
|
.admin-text { margin-bottom: 16px; text-align: center; }
|
|
}
|
|
|
|
@media (min-width: 769px) and (max-width: 1100px) {
|
|
.choice-card { width: calc(50% - 18px); }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="bg-pattern"></div>
|
|
<div class="glow"></div>
|
|
|
|
<header>
|
|
<h1>Portal WebGIS Cerdas</h1>
|
|
<p>Pilih sistem informasi spasial yang ingin Anda akses. Jelajahi data geospasial dengan mudah dan interaktif.</p>
|
|
</header>
|
|
|
|
<div class="cards-container">
|
|
<!-- Opsi 1: SPBU -->
|
|
<a href="spbu.html" class="choice-card card-spbu">
|
|
<div class="icon-box"><i class="fa-solid fa-gas-pump"></i></div>
|
|
<h2>Peta SPBU Terdekat</h2>
|
|
<p>Jelajahi lokasi SPBU di sekitar Anda. Temukan SPBU terdekat dengan mudah menggunakan fitur deteksi lokasi otomatis tanpa perlu login.</p>
|
|
<span class="badge badge-public"><i class="fa-solid fa-globe mr-1"></i> Akses Publik</span>
|
|
</a>
|
|
|
|
<!-- Opsi 2: Poverty Map -->
|
|
<a href="poverty.html" class="choice-card card-poverty">
|
|
<div class="icon-box"><i class="fa-solid fa-house-chimney-crack"></i></div>
|
|
<h2>Peta Kemiskinan</h2>
|
|
<p>Sistem analisis spasial untuk mendeteksi rumah penduduk miskin dalam radius yang dapat diatur dari fasilitas ibadah.</p>
|
|
<span class="badge badge-public"><i class="fa-solid fa-globe mr-1"></i> Akses Publik</span>
|
|
</a>
|
|
|
|
<!-- Opsi 3: Jalan & Parsil -->
|
|
<a href="jalan-parsil.html" class="choice-card card-land">
|
|
<div class="icon-box"><i class="fa-solid fa-road"></i></div>
|
|
<h2>Peta Jalan & Parsil</h2>
|
|
<p>Analisis jaringan jalan, status bidang tanah, pencarian pemilik parsil, dan estimasi akses parsil ke jalan terdekat.</p>
|
|
<span class="badge badge-public"><i class="fa-solid fa-globe mr-1"></i> Akses Publik</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="admin-card-container">
|
|
<a href="login.html?redirect=admin.html" class="admin-card">
|
|
<div class="admin-icon"><i class="fa-solid fa-user-shield"></i></div>
|
|
<div class="admin-text">
|
|
<h3>Masuk sebagai Administrator</h3>
|
|
<p>Login ke dashboard untuk mengelola data spasial, memonitor sistem, dan memperbarui informasi WebGIS.</p>
|
|
</div>
|
|
<div class="admin-arrow"><i class="fa-solid fa-arrow-right"></i></div>
|
|
</a>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|