Fix New UI Pengaduan
This commit is contained in:
168
Pengaduan-New.md
Normal file
168
Pengaduan-New.md
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
Create a modern analytics dashboard UI for a village complaint system (Pengaduan Dashboard).
|
||||||
|
|
||||||
|
Tech stack:
|
||||||
|
- React 19 + Vite (Bun runtime)
|
||||||
|
- Mantine UI (core components)
|
||||||
|
- TailwindCSS (layout & spacing only)
|
||||||
|
- Recharts (charts)
|
||||||
|
- TanStack Router
|
||||||
|
- Icons: lucide-react
|
||||||
|
- State: Valtio
|
||||||
|
- Date: dayjs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 DESIGN STYLE
|
||||||
|
|
||||||
|
- Clean, minimal, and soft dashboard
|
||||||
|
- Background: light gray (#f3f4f6)
|
||||||
|
- Card: white with subtle shadow
|
||||||
|
- Border radius: 16px–24px (rounded-2xl)
|
||||||
|
- Typography: medium contrast (not too bold)
|
||||||
|
- Primary color: navy blue (#1E3A5F)
|
||||||
|
- Accent: soft blue + neutral gray
|
||||||
|
- Icons inside circular solid background
|
||||||
|
|
||||||
|
Spacing:
|
||||||
|
- Use gap-6 consistently
|
||||||
|
- Internal padding: p-5 or p-6
|
||||||
|
- Layout must feel breathable (no clutter)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧱 LAYOUT STRUCTURE
|
||||||
|
|
||||||
|
### 🔹 TOP SECTION (4 STAT CARDS - GRID)
|
||||||
|
Grid: 4 columns (responsive → 2 / 1)
|
||||||
|
|
||||||
|
Each card contains:
|
||||||
|
- Title (small, muted)
|
||||||
|
- Big number (bold, large)
|
||||||
|
- Subtitle (small gray text)
|
||||||
|
- Right side: circular icon container
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- Total Pengaduan → 42 → "Bulan ini"
|
||||||
|
- Baru → 14 → "Belum diproses"
|
||||||
|
- Diproses → 14 → "Sedang ditangani"
|
||||||
|
- Selesai → 14 → "Terselesaikan"
|
||||||
|
|
||||||
|
Use:
|
||||||
|
- Mantine Card
|
||||||
|
- Group justify="space-between"
|
||||||
|
- Icon inside circle (bg navy, icon white)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📈 MAIN CHART (FULL WIDTH)
|
||||||
|
Title: "Tren Pengaduan"
|
||||||
|
|
||||||
|
- Use Recharts LineChart
|
||||||
|
- Smooth line (monotone)
|
||||||
|
- Show dots on each point
|
||||||
|
- Data: Apr → Okt
|
||||||
|
- Value range: 30–60
|
||||||
|
|
||||||
|
Style:
|
||||||
|
- Minimal grid (light dashed)
|
||||||
|
- No heavy colors (use gray/blue line)
|
||||||
|
- Rounded container card
|
||||||
|
- Add small top-right icon (expand)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 BOTTOM SECTION (3 COLUMN GRID)
|
||||||
|
|
||||||
|
### 🔹 LEFT: "Surat Terbanyak"
|
||||||
|
- Horizontal bar chart (Recharts)
|
||||||
|
- Categories:
|
||||||
|
- KTP
|
||||||
|
- KK
|
||||||
|
- Domisili
|
||||||
|
- Usaha
|
||||||
|
- Lainnya
|
||||||
|
|
||||||
|
Style:
|
||||||
|
- Dark blue bars
|
||||||
|
- Rounded edges
|
||||||
|
- Clean axis
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🔹 CENTER: "Pengajuan Terbaru"
|
||||||
|
List of activity cards:
|
||||||
|
|
||||||
|
Each item:
|
||||||
|
- Name (bold)
|
||||||
|
- Subtitle (jenis surat)
|
||||||
|
- Time (small text)
|
||||||
|
- Status badge (kanan)
|
||||||
|
|
||||||
|
Status:
|
||||||
|
- baru → red
|
||||||
|
- proses → blue
|
||||||
|
- selesai → green
|
||||||
|
|
||||||
|
Style:
|
||||||
|
- Card per item
|
||||||
|
- Soft border
|
||||||
|
- Rounded
|
||||||
|
- Compact spacing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🔹 RIGHT: "Ajuan Ide Inovatif"
|
||||||
|
List mirip dengan pengajuan terbaru:
|
||||||
|
|
||||||
|
Each item:
|
||||||
|
- Nama
|
||||||
|
- Judul ide
|
||||||
|
- Waktu
|
||||||
|
- Button kecil "Detail"
|
||||||
|
|
||||||
|
Style:
|
||||||
|
- Right-aligned action button
|
||||||
|
- Light border
|
||||||
|
- Clean spacing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ COMPONENT STRUCTURE
|
||||||
|
|
||||||
|
components/
|
||||||
|
- StatCard.tsx
|
||||||
|
- LineChartCard.tsx
|
||||||
|
- BarChartCard.tsx
|
||||||
|
- ActivityList.tsx
|
||||||
|
- IdeaList.tsx
|
||||||
|
|
||||||
|
routes/
|
||||||
|
- dashboard.tsx
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ INTERACTIONS (IMPORTANT)
|
||||||
|
|
||||||
|
- Hover card → scale(1.02)
|
||||||
|
- Transition: 150ms ease
|
||||||
|
- Icon circle slightly pop on hover
|
||||||
|
- List item hover → subtle bg change
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 UX DETAILS
|
||||||
|
|
||||||
|
- Numbers must be visually dominant
|
||||||
|
- Icons must balance layout (not too big)
|
||||||
|
- Avoid heavy borders
|
||||||
|
- Keep everything aligned perfectly
|
||||||
|
- No clutter
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 OUTPUT
|
||||||
|
|
||||||
|
- Modular React components (NOT one file)
|
||||||
|
- Clean code (production-ready)
|
||||||
|
- Use Mantine properly (no hacky inline styles unless needed)
|
||||||
|
- Use Tailwind only for layout/grid/spacing
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user