# GeoPoverty Light: UI/UX Design Context & Guidelines (v1.0) Dokumen ini mendefinisikan bahasa visual dan standar antarmuka untuk platform **GeoPoverty GIS**. Fokus utama desain adalah kejernihan data, profesionalisme, dan efisiensi navigasi spasial dalam balutan estetika yang bersih dan modern. --- ## 1. Filosofi Desain: "Lumina GIS" Estetika ini mengutamakan **kejernihan (clarity)** dan **kedalaman (depth)**. Dengan menggunakan latar belakang yang terang dan kontras tinggi, data kemiskinan yang kompleks diubah menjadi informasi yang mudah dicerna tanpa kehilangan kesan premium. --- ## 2. Identitas Visual & Palet Warna Menggunakan skema warna yang didominasi oleh warna dingin dan netral untuk menciptakan kesan platform yang objektif dan tepercaya. ### Warna Utama (Core Colors) - **Primary (Electric Indigo)**: `#6366F1` - Digunakan untuk aksi utama (CTA), indikator aktif, dan elemen branding. - **Surface (Ghost White)**: `#F7F9FB` - Warna latar belakang utama untuk menjaga tampilan tetap segar dan bersih. - **On-Surface (Deep Slate)**: `#1A2138` - Warna teks utama untuk keterbacaan maksimal. - **Secondary (Teal)**: `#14B8A6` - Digunakan untuk indikator status positif atau kategori infrastruktur tertentu. - **Error (Crimson)**: `#EF4444` - Digunakan untuk status "Prioritas 1" atau kondisi kritis. - **Outline (Soft Steel)**: `#D8DADC` - Untuk garis pemisah dan border yang halus. --- ## 3. Tipografi Menggunakan font **Hanken Grotesk** untuk kesan modern dan teknis yang tetap ramah pengguna. - **Display/Headlines**: Bold, kerning rapat (-0.02em). Memberikan penekanan kuat pada judul panel. - **Body Text**: Regular, line-height 1.6. Memastikan alamat dan deskripsi panjang mudah dibaca. - **Labels/Data**: Semi-bold, ukuran 11-12px. Digunakan untuk statistik wilayah dan label marker. --- ## 4. Prinsip Layout & Komposisi Platform ini menggunakan pendekatan **Layered Architecture**: ### A. Base Layer (The Map) Peta selalu menjadi kanvas dasar. Gunakan basemap dengan saturasi rendah agar marker data (Indigo/Teal/Red) terlihat menonjol. ### B. Glassmorphic Panels Semua panel UI (Sidebar, Header, Cards) menggunakan efek transparansi: - `background: rgba(255, 255, 255, 0.8);` - `backdrop-filter: blur(16px);` - `border: 1px solid rgba(255, 255, 255, 0.3);` ### C. Container Strategy - **Corner Radius**: Konsisten di **16px** untuk elemen besar dan **8px** untuk elemen kecil (tombol/badge). - **Elevation**: Gunakan bayangan yang sangat lembut (`shadow-sm`) untuk memisahkan panel dari peta, menghindari garis hitam yang kaku. --- ## 5. Komponen Antarmuka (UI Components) ### Data Cards (Keluarga & Infrastruktur) - **State**: Kartu yang dipilih (selected) harus mendapatkan aksen border Primary 2px. - **Hierarchy**: Nama Kepala Keluarga sebagai judul utama, diikuti oleh alamat dan status bantuan dalam bentuk badge berwarna. ### Interactive Markers - **Active State**: Saat diklik, marker harus memberikan feedback visual (pembesaran ukuran atau pendaran cahaya/glow). - **Radius Visualization**: Lingkaran radius rumah ibadah menggunakan fill opacity 5% dengan garis tepi tipis (1px dashed). --- ## 6. Pengalaman Pengguna (UX) & Interaksi 1. **Contextual Disclosure**: Tampilkan detail data hanya saat dibutuhkan (on-click/on-hover) untuk menjaga kebersihan peta. 2. **Smooth Transitions**: Gunakan durasi transisi 300ms untuk pembukaan panel sidebar atau modal. 3. **Action Priority**: Tombol "Lapor Kondisi" atau "Tambah Data" harus memiliki kontras warna tertinggi (Primary) agar mudah ditemukan seketika. --- ## 7. Implementasi CSS (Tokens) ```css :root { --lumina-primary: #6366f1; --lumina-surface: rgba(247, 249, 251, 0.8); --lumina-text: #1a2138; --lumina-radius: 16px; --lumina-glass: blur(16px); } .panel-premium { background: var(--lumina-surface); backdrop-filter: var(--lumina-glass); border-radius: var(--lumina-radius); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04); } ```