From 66d207c081634a856733ed57f8f653a8bff9684f Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 11 Mar 2026 15:26:16 +0800 Subject: [PATCH] feat: refactor UI components to TailwindCSS with dark mode support - Convert Mantine-based components to TailwindCSS + Recharts - Add dark mode support for all dashboard pages - Update routing to allow public dashboard access - Components refactored: - kinreja-divisi.tsx: Village performance dashboard - pengaduan-layanan-publik.tsx: Public complaint management - jenna-analytic.tsx: Chatbot analytics dashboard - demografi-pekerjaan.tsx: Demographic analytics - keuangan-anggaran.tsx: APBDes financial dashboard - bumdes-page.tsx: UMKM sales monitoring - sosial-page.tsx: Village social monitoring - Remove landing page, redirect / to /dashboard - Update auth middleware for public dashboard access Co-authored-by: Qwen-Coder --- Screenshot 2026-03-10 at 16.48.25.png | Bin 0 -> 146297 bytes src/components/bumdes-page.tsx | 748 ++++++++----- src/components/demografi-pekerjaan.tsx | 833 +++++++------- src/components/help-page.tsx | 2 +- src/components/jenna-analytic.tsx | 534 +++++---- src/components/keamanan-page.tsx | 7 - src/components/keuangan-anggaran.tsx | 807 ++++++++------ src/components/kinerja-divisi.tsx | 761 +++++-------- src/components/pengaduan-layanan-publik.tsx | 1090 ++++++------------- src/components/sosial-page.tsx | 807 +++++++------- src/middleware/authMiddleware.tsx | 4 +- src/routes/__root.tsx | 21 +- src/routes/index.tsx | 789 +------------- 13 files changed, 2708 insertions(+), 3695 deletions(-) create mode 100644 Screenshot 2026-03-10 at 16.48.25.png diff --git a/Screenshot 2026-03-10 at 16.48.25.png b/Screenshot 2026-03-10 at 16.48.25.png new file mode 100644 index 0000000000000000000000000000000000000000..018aa7acb100c72cac02e6043c91497b970e35f4 GIT binary patch literal 146297 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

$ZhNZ1*qlPeBulFo@;1gfFMqB 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%0D=feN(zHgN|zuV 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 |~4X(D+bYu5kl9bdkRj0SN)# zOT>GVYZfTcH==beZ^$(jyjqH522g(X zg1cJgXQ#%PXl!SjwGO0@R2t1bQr<|Bz9eY(1BSlb{Zr2m6LvtKvr|4|I@5N4Sqq}k z=Ta8m%rR$T%aygd9t!q`W!&2gCbhuHB{dT28%ECe5^8unk_{M4dlp$LN=?~*@=?)kXv}$M z!la}{&O~i`z_)(8j~@tNXP29~TaiI6*V(oEYsDCbAm#ni#<=O>SFoSd0@R&zLhZBu zLS46u_eNFS_(0t=GlYrCbI=&7csrQHjxUoN+dn9=5rv6O$= zKM!!RO$*3Vy%~gP%Dp=ANa%j;10o&rcF$p>6W4r8_s89c#|6`U>!@vK;pPN+#%?XG zzm$AAdAswvc!gVE!UhjHY5U^N_7NMMM=8?AxTHPrtx? z)><$H9owrqa4ejhm8gI6Dk|DOS$keBNC3Bv-C_Y{<<07QNf9TTvZ!{ppL>27#ETeH z$;~xEtc;XPlIyrI2=OmvFtO2BHfCB`+~1Y|Nd;p%H2(xidb!4KnBKACrJ^9g5Uk|r zIMtuaXx z`#4@OWL3tI>|j-ghB9@*hmItEEEL{bvrW3gCcb>pqWB|F?;e7bb(dI7rKS8RV1 z(63b54=)$<*K9AxAPH!GNdUs#lL@l*&7j@vB;Gn=H$a)Y4G#M zKR*cL+R?UWl-;)wD(d^Gn*QqpNYL|NdttcG%@E0fsg-)k@&ENCL*y6q|DNBU-#|@J zp~?b9d;j_XDm0Al@1wq?5eWM#F1FcA=<8pi@{+$VU%@sz_}76+rRhj9XyWCG|6Izy ze~@BG|FvO%_4+4)T7We)F<$!jHAJJ7`1^Q%(UzTzsQoHBm)d{P>+%(%_SL_S=hw4R z#ePy*6gnQ4GWfrq^plb${MFedIWE6>i2)L9Y3TfmL3i2fpHKc?@_%HT-%I{qjP@s; ze(&;s6k)%2`G1McOFI1)?0=KFKPdHEu>TWPeh8W0y8Iu7?{8iHZ${8>^X(sn?{AC! z(hUAD^8B{ge;qM?8Nh!zq$Q@72%(^07AwfydGPl`#h=vtt=IoagZ+SGUXs8p%`6ya1Z+aTMTB;hw5Y!Chnj{{!nM1#AES literal 0 HcmV?d00001 diff --git a/src/components/bumdes-page.tsx b/src/components/bumdes-page.tsx index 4b7e1b2..5a34605 100644 --- a/src/components/bumdes-page.tsx +++ b/src/components/bumdes-page.tsx @@ -1,23 +1,13 @@ -import { - Badge, - Button, - Card, - Grid, - GridCol, - Group, - Select, - Stack, - Table, - Text, - Title, - useMantineColorScheme, -} from "@mantine/core"; import { IconBuildingStore, IconCategory, IconCurrency, IconUsers, + IconTrendingUp, + IconTrendingDown, + IconChevronDown, } from "@tabler/icons-react"; +import { useMantineColorScheme } from "@mantine/core"; import { useState } from "react"; const BumdesPage = () => { @@ -25,69 +15,98 @@ const BumdesPage = () => { const dark = colorScheme === "dark"; const [timeFilter, setTimeFilter] = useState("bulan"); + const [categoryFilter, setCategoryFilter] = useState("semua"); - // Sample data for KPI cards + // KPI Data const kpiData = [ { title: "UMKM Aktif", - value: 45, - icon: , - color: "darmasaba-blue", + value: "45", + subtitle: "Beroperasi", + icon: IconUsers, }, { title: "UMKM Terdaftar", - value: 68, - icon: , - color: "darmasaba-success", + value: "68", + subtitle: "Total terdaftar", + icon: IconBuildingStore, }, { title: "Omzet", - value: "Rp 48.000.000", - icon: , - color: "darmasaba-warning", + value: "48 JT", + subtitle: "Bulan ini", + icon: IconCurrency, }, { title: "Kategori UMKM", - value: 34, - icon: , - color: "darmasaba-danger", + value: "34", + subtitle: "Jenis produk", + icon: IconCategory, }, ]; - // Sample data for top products + // Mini stats data + const miniStats = [ + { + title: "Total Penjualan", + value: "Rp 30.900.000", + subtitle: "+18% vs bulan lalu", + isPositive: true, + }, + { + title: "Produk Aktif", + value: "7", + subtitle: "Kategori produk", + }, + { + title: "Total Transaksi", + value: "500", + subtitle: "Transaksi bulan ini", + }, + ]; + + // Top 3 products data const topProducts = [ { rank: 1, name: "Beras Premium Organik", - umkmOwner: "Warung Pak Joko", - growth: "+12%", + umkmOwner: "Kelompok Tani Subak", + sales: "Rp 8.500.000", + volume: "650 Kg Terjual", + growth: "+15%", }, { rank: 2, name: "Keripik Singkong", umkmOwner: "Ibu Sari Snack", + sales: "Rp 4.200.000", + volume: "320 Kg Terjual", growth: "+8%", }, { rank: 3, name: "Madu Alami", umkmOwner: "Peternakan Lebah", + sales: "Rp 3.750.000", + volume: "150 Liter Terjual", growth: "+5%", }, ]; - // Sample data for product sales + // Product sales data const productSales = [ { produk: "Beras Premium Organik", + umkm: "Kelompok Tani Subak", penjualanBulanIni: "Rp 8.500.000", - bulanLalu: "Rp 8.500.000", - trend: 10, + bulanLalu: "Rp 7.400.000", + trend: 15, volume: "650 Kg", stok: "850 Kg", }, { produk: "Keripik Singkong", + umkm: "Ibu Sari Snack", penjualanBulanIni: "Rp 4.200.000", bulanLalu: "Rp 3.800.000", trend: 10, @@ -96,6 +115,7 @@ const BumdesPage = () => { }, { produk: "Madu Alami", + umkm: "Peternakan Lebah", penjualanBulanIni: "Rp 3.750.000", bulanLalu: "Rp 4.100.000", trend: -8, @@ -104,6 +124,7 @@ const BumdesPage = () => { }, { produk: "Kecap Tradisional", + umkm: "Bu Darmi", penjualanBulanIni: "Rp 2.800.000", bulanLalu: "Rp 2.500.000", trend: 12, @@ -112,277 +133,414 @@ const BumdesPage = () => { }, ]; + const cardStyle = { + backgroundColor: dark ? "#1E293B" : "white", + border: `1px solid ${dark ? "#1E293B" : "white"}`, + }; + + const textStyle = { + color: dark ? "white" : "#1F2937", + }; + + const subtitleStyle = { + color: dark ? "#9CA3AF" : "#6B7280", + }; + return ( - - {/* KPI Cards */} - - {kpiData.map((kpi, index) => ( - - +

+ {/* Row 1: Top 4 Metrics Cards */} +
+ {kpiData.map((kpi, index) => ( +
- - - - {kpi.title} - - - {typeof kpi.value === "number" - ? kpi.value.toLocaleString() - : kpi.value} - - - - {kpi.icon} - - - - - ))} - - - {/* Update Penjualan Produk Header */} - - - - Update Penjualan Produk - - - - - - - - - - {/* Produk Unggulan (Left Column) */} - - - {/* Total Penjualan, Produk Aktif, Total Transaksi */} - - - - - Total Penjualan - - - Rp 28.500.000 - - - - - Produk Aktif - - - 124 Produk - - - - - Total Transaksi - - - 1.240 Transaksi - - - - - - {/* Top 3 Produk Terlaris */} - - - Top 3 Produk Terlaris - - - {topProducts.map((product) => ( - +
+

- - - {product.rank} - - - - {product.name} - - - {product.umkmOwner} - - - - - {product.growth} - - - ))} - - - - + {kpi.title} +

+

+ {kpi.value} +

+

+ {kpi.subtitle} +

+
+
+
+ +
+
+
+
+ ))} +
- {/* Detail Penjualan Produk (Right Column) */} - - +
- - - Detail Penjualan Produk - - setCategoryFilter(e.target.value)} + className="appearance-none px-4 py-2 pr-8 rounded-lg text-sm font-medium border-0 focus:ring-2 focus:ring-[#1F3A5F] cursor-pointer" + style={{ + backgroundColor: dark ? "#334155" : "#F9FAFB", + color: dark ? "white" : "#1F2937", + }} + > + + + + + + +
+ + + {/* Data Table */} +
+ + + + + + + + + + + + + + {productSales.map((product, index) => ( + + + + + + + + + + ))} + +
+ Produk + + Penjualan Bulan Ini + + Bulan Lalu + + Trend + + Volume + + Stok + + Aksi +
+

+ {product.produk} +

+

+ {product.umkm} +

+
+

+ {product.penjualanBulanIni} +

+
+

+ {product.bulanLalu} +

+
+
= 0 ? "#22C55E" : "#EF4444", + }} + > + {product.trend >= 0 ? ( + + ) : ( + + )} + {product.trend >= 0 ? "+" : ""} + {product.trend}% +
+
+

+ {product.volume} +

+
+ 200 + ? "bg-green-100 text-green-800" + : "bg-red-100 text-red-800" + }`} + > + {product.stok} + + + +
+
+ + + + + ); }; diff --git a/src/components/demografi-pekerjaan.tsx b/src/components/demografi-pekerjaan.tsx index cf189d2..ea71b2e 100644 --- a/src/components/demografi-pekerjaan.tsx +++ b/src/components/demografi-pekerjaan.tsx @@ -1,410 +1,469 @@ -import { BarChart, PieChart } from "@mantine/charts"; -import { - Box, - Card, - Grid, - Group, - Stack, - Table, - Text, - Title, - useMantineColorScheme, -} from "@mantine/core"; import { IconArrowDown, IconArrowUp, IconBabyCarriage, IconSkull, + IconUsers, + IconHome, + IconExclamationCircle, } from "@tabler/icons-react"; -import React from "react"; - -// Sample Data -const kpiData = [ - { - id: 1, - title: "Total Penduduk", - value: "5.634", - sub: "Aktif terdaftar", - icon: ( - - Total Penduduk - - - ), - }, - { - id: 2, - title: "Kepala Keluarga", - value: "1.354", - sub: "Total KK", - icon: ( - - Kepala Keluarga - - - ), - }, - { - id: 3, - title: "Kelahiran", - value: "23", - sub: "Tahun ini", - icon: ( - - ), - }, - { - id: 4, - title: "Kemiskinan", - value: "324", - delta: "-10% dari tahun lalu", - deltaType: "positive", - icon: ( - - Kemiskinan - - - ), - }, -]; - -const ageDistributionData = [ - { ageRange: "17-25", total: 850 }, - { ageRange: "26-35", total: 1200 }, - { ageRange: "36-45", total: 1100 }, - { ageRange: "46-55", total: 950 }, - { ageRange: "56-65", total: 750 }, - { ageRange: "65+", total: 484 }, -]; - -const jobDistributionData = [ - { job: "Sipil", total: 1200 }, - { job: "Guru", total: 850 }, - { job: "Petani", total: 950 }, - { job: "Pedagang", total: 750 }, - { job: "Wiraswasta", total: 984 }, -]; - -const religionData = [ - { religion: "Hindu", total: 4234, color: "red" }, - { religion: "Islam", total: 856, color: "blue" }, - { religion: "Kristen", total: 412, color: "green" }, - { religion: "Buddha", total: 202, color: "yellow" }, -]; - -const banjarData = [ - { banjar: "Banjar Darmasaba", population: 1200, kk: 300, poor: 45 }, - { banjar: "Banjar Manesa", population: 950, kk: 240, poor: 32 }, - { banjar: "Banjar Cabe", population: 800, kk: 200, poor: 28 }, - { banjar: "Banjar Penenjoan", population: 1100, kk: 280, poor: 38 }, - { banjar: "Banjar Baler Pasar", population: 984, kk: 250, poor: 42 }, - { banjar: "Banjar Bucu", population: 600, kk: 184, poor: 25 }, -]; - -const dynamicStats = [ - { - title: "Kelahiran", - value: "23", - icon: , - color: "green", - }, - { - title: "Kematian", - value: "12", - icon: , - color: "red", - }, - { - title: "Pindah Masuk", - value: "45", - icon: , - color: "blue", - }, - { - title: "Pindah Keluar", - value: "32", - icon: , - color: "orange", - }, -]; +import { useMantineColorScheme } from "@mantine/core"; +import { + Bar, + BarChart, + CartesianGrid, + Cell, + Pie, + PieChart, + ResponsiveContainer, + Tooltip, + XAxis, + YAxis, +} from "recharts"; const DemografiPekerjaan = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; + + // KPI Data + const kpiData = [ + { + id: 1, + title: "Total Penduduk", + value: "5.634", + subtitle: "Aktif terdaftar", + icon: IconUsers, + }, + { + id: 2, + title: "Kepala Keluarga", + value: "1.354", + subtitle: "Total KK", + icon: IconHome, + }, + { + id: 3, + title: "Kelahiran", + value: "23", + subtitle: "Tahun ini", + icon: IconBabyCarriage, + }, + { + id: 4, + title: "Kemiskinan", + value: "324", + subtitle: "-10% dari tahun lalu", + icon: IconExclamationCircle, + }, + ]; + + // Age distribution data + const ageDistributionData = [ + { ageRange: "17-25", total: 850 }, + { ageRange: "26-35", total: 1200 }, + { ageRange: "36-45", total: 1100 }, + { ageRange: "46-55", total: 950 }, + { ageRange: "56-65", total: 750 }, + { ageRange: "65+", total: 484 }, + ]; + + // Job distribution data + const jobDistributionData = [ + { job: "Sipil", total: 1200 }, + { job: "Guru", total: 850 }, + { job: "Petani", total: 950 }, + { job: "Pedagang", total: 750 }, + { job: "Wiraswasta", total: 984 }, + ]; + + // Religion data + const religionData = [ + { religion: "Hindu", total: 4234, color: "#EF4444" }, + { religion: "Islam", total: 856, color: "#3B82F6" }, + { religion: "Kristen", total: 412, color: "#10B981" }, + { religion: "Buddha", total: 202, color: "#F59E0B" }, + ]; + + // Banjar data + const banjarData = [ + { banjar: "Banjar Darmasaba", population: 1200, kk: 300, poor: 45 }, + { banjar: "Banjar Manesa", population: 950, kk: 240, poor: 32 }, + { banjar: "Banjar Cabe", population: 800, kk: 200, poor: 28 }, + { banjar: "Banjar Penenjoan", population: 1100, kk: 280, poor: 38 }, + { banjar: "Banjar Baler Pasar", population: 984, kk: 250, poor: 42 }, + { banjar: "Banjar Bucu", population: 600, kk: 184, poor: 25 }, + ]; + + // Dynamic stats + const dynamicStats = [ + { + title: "Kelahiran", + value: "23", + icon: IconBabyCarriage, + color: "#10B981", + }, + { + title: "Kematian", + value: "12", + icon: IconSkull, + color: "#EF4444", + }, + { + title: "Pindah Masuk", + value: "45", + icon: IconArrowDown, + color: "#3B82F6", + }, + { + title: "Pindah Keluar", + value: "32", + icon: IconArrowUp, + color: "#F59E0B", + }, + ]; + + const COLORS = ["#1E3A5F", "#3B82F6", "#60A5FA", "#93C5FD", "#DBEAFE"]; + + const cardStyle = { + backgroundColor: dark ? "#141D34" : "white", + border: `1px solid ${dark ? "#141D34" : "white"}`, + }; + + const textStyle = { + color: dark ? "white" : "#1F2937", + }; + + const subtitleStyle = { + color: dark ? "#9CA3AF" : "#6B7280", + }; + return ( - - - {/* KPI Cards */} - +
+
+ {/* Row 1: 4 Statistic Cards */} +
{kpiData.map((kpi) => ( - - - - - {kpi.title} - - {React.cloneElement(kpi.icon, { - className: "h-6 w-6", - color: dark - ? "var(--mantine-color-dark-3)" - : "var(--mantine-color-dimmed)", - })} - - - {kpi.value} - - {kpi.delta && ( - +
+
+

- {kpi.delta} - - )} - {kpi.sub && ( - - {kpi.sub} - - )} - - + {kpi.title} +

+

+ {kpi.value} +

+

+ {kpi.subtitle} +

+
+
+
+ +
+
+
+
))} - +
- {/* Charts Section */} - - {/* Grafik Pengelompokan Umur */} - - + {/* Age Distribution Bar Chart */} +
+

- - Grafik Pengelompokan Umur - - - - - - {/* Demografi Pekerjaan */} - - - - Demografi Pekerjaan - - - - - - - {/* Agama & Data per Banjar */} - - {/* Distribusi Agama */} - - - - Distribusi Agama - - ({ - name: item.religion, - value: item.total, - color: item.color, - }))} - withLabels - withLabelsLine - labelsPosition="outside" - labelsType="percent" - /> - - - - {/* Data per Banjar */} - - - - Data per Banjar - - - - - - Banjar - - - Penduduk - - - KK - - - Miskin - - - - - {banjarData.map((item, index) => ( - - - {item.banjar} - - - - {item.population.toLocaleString()} - - - - - {item.kk.toLocaleString()} - - - - - {item.poor.toLocaleString()} - - - + Grafik Pengelompokan Umur + + + + + + + + + {ageDistributionData.map((entry, index) => ( + ))} - -
-
-
-
+ +
+ +

- {/* Statistik Dinamika Penduduk */} - - - Statistik Dinamika Penduduk - - - {dynamicStats.map((stat, index) => ( - - +

+ Demografi Pekerjaan +

+ + + + + + + + {jobDistributionData.map((entry, index) => ( + + ))} + + + +
+ + + {/* Row 3: 3 Insight Cards */} +
+ {/* Religion Distribution Pie Chart */} +
+

+ Distribusi Agama +

+ + + + `${name}: ${percent ? (percent * 100).toFixed(0) : 0}%` + } > - - - - {stat.title} - - - {stat.value} - - - {stat.icon} - - - + {religionData.map((entry, index) => ( + + ))} + + + + +
+ + {/* Population per Banjar Table */} +
+

+ Data per Banjar +

+
+ + + + + + + + + + + {banjarData.map((item, index) => ( + + + + + + + ))} + +
+ Banjar + + Penduduk + + KK + + Miskin +
+ {item.banjar} + + {item.population.toLocaleString()} + + {item.kk.toLocaleString()} + + {item.poor.toLocaleString()} +
+
+
+
+ + {/* Population Dynamics Stats */} +
+

+ Statistik Dinamika Penduduk +

+
+ {dynamicStats.map((stat, index) => ( +
+
+
+

+ {stat.title} +

+

+ {stat.value} +

+
+
+ +
+
+
))} - - - - +
+
+ + ); }; diff --git a/src/components/help-page.tsx b/src/components/help-page.tsx index c7bab00..cbcea3c 100644 --- a/src/components/help-page.tsx +++ b/src/components/help-page.tsx @@ -142,7 +142,7 @@ const HelpPage = () => { }; return ( - + {/* Statistics Section */} {stats.map((stat, index) => ( diff --git a/src/components/jenna-analytic.tsx b/src/components/jenna-analytic.tsx index 063a56c..578d2a5 100644 --- a/src/components/jenna-analytic.tsx +++ b/src/components/jenna-analytic.tsx @@ -1,283 +1,281 @@ -import { BarChart } from "@mantine/charts"; import { - Badge, - Box, - Button, - Card, - Grid, - Group, - Progress, - Stack, - Text, - Title, - useMantineColorScheme, -} from "@mantine/core"; -import React from "react"; - -// Sample Data -const kpiData = [ - { - id: 1, - title: "Interaksi Hari Ini", - value: "61", - delta: "+15% dari kemarin", - deltaType: "positive", - icon: ( - - - - ), - }, - { - id: 2, - title: "Jawaban Otomatis", - value: "87%", - sub: "53 dari 61 interaksi", - icon: ( - - - - ), - }, - { - id: 3, - title: "Belum Ditindak", - value: "8", - sub: "Perlu respon manual", - deltaType: "negative", - icon: ( - - - - ), - }, - { - id: 4, - title: "Waktu Respon", - value: "2.3 sec", - sub: "Rata-rata", - icon: ( - - - - ), - }, -]; - -const chartData = [ - { day: "Sen", total: 100 }, - { day: "Sel", total: 120 }, - { day: "Rab", total: 90 }, - { day: "Kam", total: 150 }, - { day: "Jum", total: 110 }, - { day: "Sab", total: 80 }, - { day: "Min", total: 130 }, -]; - -const topTopics = [ - { topic: "Cara mengurus KTP", count: 89 }, - { topic: "Syarat Kartu Keluarga", count: 76 }, - { topic: "Jadwal Posyandu", count: 64 }, - { topic: "Pengaduan jalan rusak", count: 52 }, - { topic: "Info program bansos", count: 48 }, -]; - -const busyHours = [ - { period: "Pagi (08–12)", percentage: 30 }, - { period: "Siang (12–16)", percentage: 40 }, - { period: "Sore (16–20)", percentage: 20 }, - { period: "Malam (20–08)", percentage: 10 }, -]; + IconAlertTriangle, + IconClock, + IconMessageChatbot, + IconSparkles, +} from "@tabler/icons-react"; +import { useMantineColorScheme } from "@mantine/core"; +import { + Bar, + BarChart, + CartesianGrid, + Cell, + ResponsiveContainer, + Tooltip, + XAxis, + YAxis, +} from "recharts"; const JennaAnalytic = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; + // KPI Data + const kpiData = [ + { + id: 1, + title: "Interaksi Hari Ini", + value: "61", + subtitle: "+15% dari kemarin", + icon: IconMessageChatbot, + }, + { + id: 2, + title: "Jawaban Otomatis", + value: "87%", + subtitle: "53 dari 61 interaksi", + icon: IconSparkles, + }, + { + id: 3, + title: "Belum Ditindak", + value: "8", + subtitle: "Perlu respon manual", + icon: IconAlertTriangle, + }, + { + id: 4, + title: "Waktu Respon", + value: "2.3s", + subtitle: "Rata-rata", + icon: IconClock, + }, + ]; + + // Weekly chatbot interaction data + const weeklyData = [ + { day: "Sen", interactions: 100 }, + { day: "Sel", interactions: 120 }, + { day: "Rab", interactions: 90 }, + { day: "Kam", interactions: 150 }, + { day: "Jum", interactions: 110 }, + { day: "Sab", interactions: 80 }, + { day: "Min", interactions: 130 }, + ]; + + // Top topics data + const topTopics = [ + { topic: "Cara mengurus KTP", count: 89 }, + { topic: "Syarat Kartu Keluarga", count: 76 }, + { topic: "Jadwal Posyandu", count: 64 }, + { topic: "Pengaduan jalan rusak", count: 52 }, + { topic: "Info program bansos", count: 48 }, + ]; + + // Busy hour distribution + const busyHours = [ + { period: "Pagi (08–12)", percentage: 30 }, + { period: "Siang (12–16)", percentage: 40 }, + { period: "Sore (16–20)", percentage: 20 }, + { period: "Malam (20–08)", percentage: 10 }, + ]; + + const COLORS = ["#1E3A5F", "#3B82F6", "#60A5FA", "#93C5FD"]; + + const cardStyle = { + backgroundColor: dark ? "#141D34" : "white", + border: `1px solid ${dark ? "#141D34" : "white"}`, + }; + + const textStyle = { + color: dark ? "white" : "#1F2937", + }; + + const subtitleStyle = { + color: dark ? "#9CA3AF" : "#6B7280", + }; + return ( - - - {/* KPI Cards */} - +
+
+ {/* Row 1: 4 Statistic Cards */} +
{kpiData.map((kpi) => ( - - - - - {kpi.title} - - {React.cloneElement(kpi.icon, { - className: "h-6 w-6", // Keeping classes for now, can be replaced by Mantine Icon component if available or styled with sx prop - color: "var(--mantine-color-dimmed)", // Set color via prop - })} - - - {kpi.value} - - {kpi.delta && ( - - {kpi.delta} - - )} - {kpi.sub && ( - - {kpi.sub} - - )} - - - ))} - - - - - Interaksi Chatbot - - - - - {/* Charts and Lists Section */} - - {/* Grafik Interaksi Chatbot (now Bar Chart) */} - - - - Jam Tersibuk - - - {busyHours.map((item, index) => ( - - {item.period} - - - - {item.percentage}% - - - +
+
+

+ {kpi.title} +

+

+ {kpi.value} +

+

+ {kpi.subtitle} +

+
+
+
+ +
+
+
+
+ ))} +
+ + {/* Row 2: Full Width Weekly Bar Chart */} +
+

+ Interaksi Chatbot Mingguan +

+ + + + + + + + {weeklyData.map((entry, index) => ( + ))} - - - + + + +
- {/* Topik Pertanyaan Terbanyak & Jam Tersibuk */} - - - {/* Topik Pertanyaan Terbanyak */} - - - Topik Pertanyaan Terbanyak - - - {topTopics.map((item, index) => ( - + {/* Left: Frequently Asked Topics */} +
+

+ Topik Pertanyaan Terbanyak +

+
+ {topTopics.map((item, index) => ( +
+ + {item.topic} + + + {item.count}x + +
+ ))} +
+
+ + {/* Right: Busy Hour Distribution */} +
+

+ Distribusi Jam Tersibuk +

+
+ {busyHours.map((item, index) => ( +
+
+ - - {item.topic} - - - {item.count}x - - - ))} - - - - {/* Jam Tersibuk */} - - - - - + {item.period} + + + {item.percentage}% + +
+
+
+
+
+ ))} +
+
+
+
+ ); }; + export default JennaAnalytic; diff --git a/src/components/keamanan-page.tsx b/src/components/keamanan-page.tsx index b1dd262..0233b51 100644 --- a/src/components/keamanan-page.tsx +++ b/src/components/keamanan-page.tsx @@ -118,13 +118,6 @@ const KeamananPage = () => { return ( - {/* Page Header */} - - - Keamanan Lingkungan Desa - - - {/* KPI Cards */} {kpiData.map((kpi, index) => ( diff --git a/src/components/keuangan-anggaran.tsx b/src/components/keuangan-anggaran.tsx index 47ef4db..73322cc 100644 --- a/src/components/keuangan-anggaran.tsx +++ b/src/components/keuangan-anggaran.tsx @@ -1,356 +1,507 @@ -import { BarChart } from "@mantine/charts"; -import { - Badge, - Box, - Button, - Card, - Grid, - Group, - Progress, - Stack, - Text, - Title, - useMantineColorScheme, -} from "@mantine/core"; import { IconCurrency, IconTrendingDown, IconTrendingUp, + IconCheck, + IconClock, } from "@tabler/icons-react"; -import React from "react"; - -// Sample Data -const kpiData = [ - { - id: 1, - title: "Total APBDes", - value: "Rp 5.2M", - sub: "Tahun 2025", - icon: , - }, - { - id: 2, - title: "Realisasi", - value: "68%", - sub: "Rp 3.5M dari 5.2M", - icon: ( - - - - ), - }, - { - id: 3, - title: "Pemasukan", - value: "Rp 580jt", - sub: "Bulan ini", - delta: "+8%", - deltaType: "positive", - icon: , - }, - { - id: 4, - title: "Pengeluaran", - value: "Rp 520jt", - sub: "Bulan ini", - icon: , - }, -]; - -const incomeExpenseData = [ - { month: "Apr", income: 450, expense: 380 }, - { month: "Mei", income: 520, expense: 420 }, - { month: "Jun", income: 480, expense: 500 }, - { month: "Jul", income: 580, expense: 450 }, - { month: "Agu", income: 550, expense: 520 }, - { month: "Sep", income: 600, expense: 480 }, - { month: "Okt", income: 580, expense: 520 }, -]; - -const allocationData = [ - { sector: "Pembangunan", amount: 1200 }, - { sector: "Kesehatan", amount: 800 }, - { sector: "Pendidikan", amount: 650 }, - { sector: "Sosial", amount: 550 }, - { sector: "Kebudayaan", amount: 400 }, - { sector: "Teknologi", amount: 300 }, -]; - -const assistanceFundData = [ - { source: "Dana Desa (DD)", amount: 1800, status: "cair" }, - { source: "Alokasi Dana Desa (ADD)", amount: 950, status: "cair" }, - { source: "Bagi Hasil Pajak", amount: 450, status: "cair" }, - { source: "Hibah Provinsi", amount: 300, status: "proses" }, -]; - -const apbdReport = { - income: [ - { category: "Dana Desa", amount: 1800 }, - { category: "Alokasi Dana Desa", amount: 480 }, - { category: "Bagi Hasil Pajak & Retribusi", amount: 300 }, - { category: "Pendapatan Asli Desa", amount: 200 }, - { category: "Hibah Bantuan", amount: 300 }, - ], - expenses: [ - { category: "Penyelenggaraan Pemerintah", amount: 425 }, - { category: "Pembangunan Desa", amount: 850 }, - { category: "Pembinaan Kemasyarakatan", amount: 320 }, - { category: "Pemberdayaan Masyarakat", amount: 380 }, - { category: "Penanggulangan Bencana", amount: 180 }, - ], - totalIncome: 3080, - totalExpenses: 2155, -}; +import { useMantineColorScheme } from "@mantine/core"; +import { + Bar, + BarChart, + CartesianGrid, + Cell, + Line, + LineChart, + ResponsiveContainer, + Tooltip, + XAxis, + YAxis, +} from "recharts"; const KeuanganAnggaran = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; + + // KPI Data + const kpiData = [ + { + id: 1, + title: "Total APBDes", + value: "Rp 5.2M", + subtitle: "Tahun 2025", + icon: IconCurrency, + }, + { + id: 2, + title: "Realisasi", + value: "68%", + subtitle: "Rp 3.5M dari 5.2M", + icon: IconCheck, + }, + { + id: 3, + title: "Pemasukan", + value: "Rp 580jt", + subtitle: "Bulan ini", + delta: "+8%", + icon: IconTrendingUp, + }, + { + id: 4, + title: "Pengeluaran", + value: "Rp 520jt", + subtitle: "Bulan ini", + icon: IconTrendingDown, + }, + ]; + + // Income vs Expense data + const incomeExpenseData = [ + { month: "Apr", income: 450, expense: 380 }, + { month: "Mei", income: 520, expense: 420 }, + { month: "Jun", income: 480, expense: 500 }, + { month: "Jul", income: 580, expense: 450 }, + { month: "Agu", income: 550, expense: 520 }, + { month: "Sep", income: 600, expense: 480 }, + { month: "Okt", income: 580, expense: 520 }, + ]; + + // Allocation data + const allocationData = [ + { sector: "Pembangunan", amount: 1200 }, + { sector: "Kesehatan", amount: 800 }, + { sector: "Pendidikan", amount: 650 }, + { sector: "Sosial", amount: 550 }, + { sector: "Kebudayaan", amount: 400 }, + { sector: "Teknologi", amount: 300 }, + ]; + + // Assistance fund data + const assistanceFundData = [ + { source: "Dana Desa (DD)", amount: 1800, status: "cair" }, + { source: "Alokasi Dana Desa (ADD)", amount: 950, status: "cair" }, + { source: "Bagi Hasil Pajak", amount: 450, status: "cair" }, + { source: "Hibah Provinsi", amount: 300, status: "proses" }, + ]; + + // APBDes Report data + const apbdReport = { + income: [ + { category: "Dana Desa", amount: 1800 }, + { category: "Alokasi Dana Desa", amount: 480 }, + { category: "Bagi Hasil Pajak & Retribusi", amount: 300 }, + { category: "Pendapatan Asli Desa", amount: 200 }, + { category: "Hibah Bantuan", amount: 300 }, + ], + expenses: [ + { category: "Penyelenggaraan Pemerintah", amount: 425 }, + { category: "Pembangunan Desa", amount: 850 }, + { category: "Pembinaan Kemasyarakatan", amount: 320 }, + { category: "Pemberdayaan Masyarakat", amount: 380 }, + { category: "Penanggulangan Bencana", amount: 180 }, + ], + totalIncome: 3080, + totalExpenses: 2155, + }; + + const COLORS = ["#1E3A5F", "#3B82F6", "#60A5FA", "#93C5FD", "#DBEAFE"]; + + const cardStyle = { + backgroundColor: dark ? "#1E293B" : "white", + border: `1px solid ${dark ? "#1E293B" : "white"}`, + }; + + const textStyle = { + color: dark ? "white" : "#1F2937", + }; + + const subtitleStyle = { + color: dark ? "#9CA3AF" : "#6B7280", + }; + return ( - - - {/* KPI Cards */} - +
+
+ {/* Row 1: 4 Summary Metrics Cards */} +
{kpiData.map((kpi) => ( - - - - - {kpi.title} - - {React.cloneElement(kpi.icon, { - className: "h-6 w-6", - color: "var(--mantine-color-dimmed)", - })} - - - {kpi.value} - - {kpi.delta && ( - +
+
+

- {kpi.delta} - - )} - {kpi.sub && ( - - {kpi.sub} - - )} - - + {kpi.title} +

+

+ {kpi.value} +

+

+ {kpi.subtitle} +

+ {kpi.delta && ( +

+ {kpi.delta} +

+ )} +
+
+
+ +
+
+
+
))} - +
- {/* Charts Section */} - - {/* Grafik Pemasukan vs Pengeluaran */} - - - - Pemasukan vs Pengeluaran - - +

+ Pemasukan vs Pengeluaran +

+ + + + -
-
- - {/* Alokasi Anggaran Per Sektor */} - - - - Alokasi Anggaran Per Sektor - - `${value}jt`} /> - - -
+ + + + + - - {/* Dana Bantuan & Hibah */} - - +
+
+ + Pemasukan + +
+
+
+ + Pengeluaran + +
+
+
+ + {/* Row 3: Analytics Section */} + + +
+ {/* Left: Horizontal Bar Chart */} +
+

- - Dana Bantuan & Hibah - - - {assistanceFundData.map((fund, index) => ( - + + + + `${value}jt`} + /> + + + + {allocationData.map((entry, index) => ( + + ))} + + + +

+ {/* Right: Assistance Funds List */} +
+

+ Dana Bantuan dan Hibah +

+
+ {assistanceFundData.map((fund, index) => ( +
+
+

+ {fund.source} +

+

+ Rp {fund.amount.toLocaleString()}jt +

+
+ - - - {fund.source} - - - Rp {fund.amount.toLocaleString()}jt - - - - {fund.status} - - - ))} - - - + {fund.status === "cair" ? ( + + ) : ( + + )} + {fund.status} + +
+ ))} +
+
- {/* Laporan APBDes */} - - - - Laporan APBDes - - - - - Pendapatan - - - {apbdReport.income.map((item, index) => ( - - {item.category} - - Rp {item.amount.toLocaleString()}jt - - - ))} - - Total Pendapatan: - - Rp {apbdReport.totalIncome.toLocaleString()}jt - - - - - - - - Belanja - - - {apbdReport.expenses.map((item, index) => ( - - {item.category} - - Rp {item.amount.toLocaleString()}jt - - - ))} - - Total Belanja: - - Rp {apbdReport.totalExpenses.toLocaleString()}jt - - - - - - + {/* Row 4: Report Section */} +
+

+ Laporan APBDes +

+
+ {/* Left: Pendapatan */} +
+

- - Saldo: - apbdReport.totalExpenses - ? "green" - : "red" - } + Pendapatan +

+
+ {apbdReport.income.map((item, index) => ( +
- Rp{" "} - {( - apbdReport.totalIncome - apbdReport.totalExpenses - ).toLocaleString()} - jt - - - - - - - - + + {item.category} + + + Rp {item.amount.toLocaleString()}jt + +
+ ))} +
+ + Total Pendapatan + + + Rp {apbdReport.totalIncome.toLocaleString()}jt + +
+
+
+ + {/* Right: Belanja */} +
+

+ Belanja +

+
+ {apbdReport.expenses.map((item, index) => ( +
+ + {item.category} + + + Rp {item.amount.toLocaleString()}jt + +
+ ))} +
+ + Total Belanja + + + Rp {apbdReport.totalExpenses.toLocaleString()}jt + +
+
+
+
+ + {/* Footer: Balance */} +
+ + Saldo + + apbdReport.totalExpenses + ? "#22C55E" + : "#EF4444", + }} + > + Rp{" "} + {( + apbdReport.totalIncome - apbdReport.totalExpenses + ).toLocaleString()} + jt + +
+
+ +
+
); }; diff --git a/src/components/kinerja-divisi.tsx b/src/components/kinerja-divisi.tsx index 05265b7..bdaf4b0 100644 --- a/src/components/kinerja-divisi.tsx +++ b/src/components/kinerja-divisi.tsx @@ -1,21 +1,3 @@ -import { - ActionIcon, - Box, - Card, - Divider, - Grid, - GridCol, - Group, - List, - Badge as MantineBadge, - Progress as MantineProgress, - Skeleton, - Stack, - Text, - ThemeIcon, - Title, - useMantineColorScheme, -} from "@mantine/core"; import { Bar, BarChart, @@ -28,511 +10,346 @@ import { XAxis, YAxis, } from "recharts"; -import { Button } from "@/components/ui/button"; +import { useMantineColorScheme } from "@mantine/core"; const KinerjaDivisi = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; - // Data for division progress chart - const divisionProgressData = [ - { name: "Sekretariat", selesai: 12, berjalan: 5, tertunda: 2 }, - { name: "Keuangan", selesai: 8, berjalan: 7, tertunda: 1 }, - { name: "Sosial", selesai: 10, berjalan: 3, tertunda: 4 }, - { name: "Humas", selesai: 6, berjalan: 9, tertunda: 3 }, - ]; - - // Division task summaries - const divisionTasks = [ + // Top row - 4 activity cards + const activities = [ { - name: "Sekretariat", - tasks: [ - { title: "Laporan Bulanan", status: "selesai" }, - { title: "Arsip Dokumen", status: "berjalan" }, - { title: "Undangan Rapat", status: "tertunda" }, - ], - }, - { - name: "Keuangan", - tasks: [ - { title: "Laporan APBDes", status: "selesai" }, - { title: "Verifikasi Dana", status: "tertunda" }, - { title: "Pengeluaran Harian", status: "berjalan" }, - ], - }, - { - name: "Sosial", - tasks: [ - { title: "Program Bantuan", status: "selesai" }, - { title: "Kegiatan Posyandu", status: "berjalan" }, - { title: "Monitoring Stunting", status: "tertunda" }, - ], - }, - { - name: "Humas", - tasks: [ - { title: "Publikasi Kegiatan", status: "selesai" }, - { title: "Koordinasi Media", status: "berjalan" }, - { title: "Laporan Kegiatan", status: "tertunda" }, - ], - }, - ]; - - // Archive items - const archiveItems = [ - { name: "Surat Keputusan", count: 12 }, - { name: "Laporan Keuangan", count: 8 }, - { name: "Dokumentasi", count: 24 }, - { name: "Notulensi Rapat", count: 15 }, - ]; - - // Activity progress - const activityProgress = [ - { - name: "Pembangunan Jalan", - progress: 75, - date: "15 Feb 2026", - status: "berjalan", - }, - { - name: "Posyandu Bulanan", + title: "Rakor 2025", progress: 100, - date: "10 Feb 2026", - status: "selesai", + date: "15 Jan 2025", }, { - name: "Vaksinasi Massal", - progress: 45, - date: "20 Feb 2026", - status: "berjalan", + title: "Pemutakhiran Indeks Desa", + progress: 100, + date: "20 Feb 2025", }, { - name: "Festival Budaya", - progress: 20, - date: "5 Mar 2026", - status: "berjalan", + title: "Mengurus akta cerai warga", + progress: 100, + date: "5 Mar 2025", + }, + { + title: "Pasek 7 desa adat", + progress: 100, + date: "10 Mar 2025", }, ]; // Document statistics const documentStats = [ - { name: "Gambar", value: 42 }, - { name: "Dokumen", value: 87 }, + { name: "Gambar", value: 300, color: "#FAC858" }, + { name: "Dokumen", value: 310, color: "#92CC76" }, ]; // Activity progress statistics const activityProgressStats = [ - { name: "Selesai", value: 12, fill: "#10B981" }, - { name: "Dikerjakan", value: 8, fill: "#F59E0B" }, - { name: "Segera Dikerjakan", value: 5, fill: "#EF4444" }, - { name: "Dibatalkan", value: 2, fill: "#6B7280" }, + { name: "Selesai", value: 83.33, fill: "#92CC76" }, + { name: "Dikerjakan", value: 16.67, fill: "#FAC858" }, + { name: "Segera Dikerjakan", value: 0, fill: "#5470C6" }, + { name: "Dibatalkan", value: 0, fill: "#EE6767" }, ]; - const COLORS = ["#10B981", "#F59E0B", "#EF4444", "#6B7280"]; - const STATUS_COLORS: Record = { - selesai: "green", - berjalan: "blue", - tertunda: "red", - proses: "yellow", - }; - // Discussion data const discussions = [ { title: "Pembahasan APBDes 2026", sender: "Kepala Desa", - timestamp: "2 jam yang lalu", + date: "10 Mar 2025", }, { title: "Kegiatan Posyandu", sender: "Divisi Sosial", - timestamp: "5 jam yang lalu", + date: "9 Mar 2025", }, { title: "Festival Budaya", sender: "Divisi Humas", - timestamp: "1 hari yang lalu", + date: "8 Mar 2025", }, ]; - // Today's agenda - const todayAgenda = [ - { time: "09:00", event: "Rapat Evaluasi Bulanan" }, - { time: "14:00", event: "Koordinasi Program Bantuan" }, - ]; - return ( - - {/* Grafik Progres Tugas per Divisi */} - - - Grafik Progres Tugas per Divisi - - - - - - - - - - - - - - - {/* Ringkasan Tugas per Divisi */} - - {divisionTasks.map((division, index) => ( - - + {/* Top Row - 4 Activity Cards */} +
+ {activities.map((activity, index) => ( +
+ {/* Dark blue title bar */} +
- - {division.name} - - - {division.tasks.map((task, taskIndex) => ( - - - - {task.title} - - - {task.status} - - - - ))} - - - - ))} - +

{activity.title}

+
- {/* Arsip Digital Perangkat Desa */} - - - Arsip Digital Perangkat Desa - - - {archiveItems.map((item, index) => ( - - +
+
+ + {/* Date and badge */} +
+ - - - {item.name} - - - {item.count} - - - - - ))} - - - - {/* Kartu Progres Kegiatan */} - - - Progres Kegiatan / Program - - - {activityProgress.map((activity, index) => ( - - - - {activity.name} - - - {activity.status} - - - - - - {activity.progress}% - - - {activity.date} - - - ))} - - + + + Selesai + +
+
+ ))} +
- {/* Statistik Dokumen & Progres Kegiatan */} - - - + {/* Left Card - Jumlah Dokumen (Bar Chart) */} +
+

- - Jumlah Dokumen - - - - - - - - - - - - + Jumlah Dokumen +

+ + + + + + + + {documentStats.map((entry, index) => ( + + ))} + + + +
- - +

- - Progres Kegiatan - - - + + + item.value > 0)} + cx="50%" + cy="50%" + outerRadius={80} + dataKey="value" + label={({ name, percent }) => + `${name}: ${percent ? (percent * 100).toFixed(0) : 0}%` + } > - - `${name}: ${percent ? (percent * 100).toFixed(0) : "0"}%` - } - /> - - - - - - + {activityProgressStats + .filter(item => item.value > 0) + .map((entry, index) => ( + + ))} + + + + - {/* Diskusi Internal */} - - - Diskusi Internal - - - {discussions.map((discussion, index) => ( - - - - {discussion.title} - - - {discussion.timestamp} - - - - {discussion.sender} - - - ))} - - + {/* Legend */} +
+
+
+ + Segera Dikerjakan + +
+
+
+ + Dikerjakan + +
+
+
+ + Selesai + +
+
+
+ + Dibatalkan + +
+
+ + - {/* Agenda / Acara Hari Ini */} - - - Agenda / Acara Hari Ini - - {todayAgenda.length > 0 ? ( - - {todayAgenda.map((agenda, index) => ( - - - {agenda.time} - - - - {agenda.event} - - + {/* Bottom Row */} +
+ {/* Left Card - Diskusi */} +
+

+ Diskusi +

+
+ {discussions.map((discussion, index) => ( +
+
+
+ + + +
+
+
+

+ {discussion.title} +

+

+ {discussion.sender} • {discussion.date} +

+
+
))} - - ) : ( - - Tidak ada acara hari ini - - )} - - +
+
+ + {/* Right Card - Acara Hari Ini */} +
+

+ Acara Hari Ini +

+
+

+ Tidak ada acara hari ini +

+
+
+
+ ); }; diff --git a/src/components/pengaduan-layanan-publik.tsx b/src/components/pengaduan-layanan-publik.tsx index cafff0d..adacb0a 100644 --- a/src/components/pengaduan-layanan-publik.tsx +++ b/src/components/pengaduan-layanan-publik.tsx @@ -1,36 +1,16 @@ import { - ActionIcon, - Badge, - Box, - Button, - Card, - Divider, - Grid, - GridCol, - Group, - List, - Select, - Stack, - Table, - Text, - Textarea, - TextInput, - Title, - useMantineColorScheme, -} from "@mantine/core"; -import { + IconMessage, IconAlertTriangle, + IconClock, IconCheck, IconChevronRight, - IconClock, - IconMessage, } from "@tabler/icons-react"; -import type React from "react"; -import { useState } from "react"; +import { useMantineColorScheme } from "@mantine/core"; import { Bar, BarChart, CartesianGrid, + Cell, Line, LineChart, ResponsiveContainer, @@ -43,800 +23,410 @@ const PengaduanLayananPublik = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; - // Summary data - const summaryData = { - total: 42, - baru: 14, - diproses: 14, - selesai: 14, - }; - - // Tren pengaduan data - const trenData = [ - { bulan: "Jan", jumlah: 30 }, - { bulan: "Feb", jumlah: 50 }, - { bulan: "Mar", jumlah: 42 }, - { bulan: "Apr", jumlah: 38 }, - { bulan: "Mei", jumlah: 45 }, - { bulan: "Jun", jumlah: 42 }, - ]; - - // Surat terbanyak data - const suratData = [ - { jenis: "KTP", jumlah: 24 }, - { jenis: "KK", jumlah: 18 }, - { jenis: "Domisili", jumlah: 15 }, - { jenis: "Usaha", jumlah: 12 }, - { jenis: "Lainnya", jumlah: 8 }, - ]; - - // Pengajuan terbaru data - const pengajuanTerbaru = [ + // Statistic cards data + const statsData = [ { - nama: "Budi Santoso", - jenis: "Ketertiban Umum", - waktu: "2 jam yang lalu", - status: "baru", + title: "Total Pengaduan", + value: 156, + subtitle: "+12% dari bulan lalu", + icon: IconMessage, }, { - nama: "Siti Rahayu", - jenis: "Pelayanan Kesehatan", - waktu: "5 jam yang lalu", - status: "diproses", + title: "Pengaduan Baru", + value: 24, + subtitle: "Perlu tindakan segera", + icon: IconAlertTriangle, }, { - nama: "Ahmad Fauzi", - jenis: "Infrastruktur", - waktu: "1 hari yang lalu", - status: "selesai", + title: "Sedang Diproses", + value: 48, + subtitle: "Dalam penanganan", + icon: IconClock, }, { - nama: "Dewi Lestari", - jenis: "Administrasi", - waktu: "1 hari yang lalu", - status: "baru", - }, - { - nama: "Joko Widodo", - jenis: "Keamanan", - waktu: "2 hari yang lalu", - status: "diproses", + title: "Selesai", + value: 84, + subtitle: "92% tingkat kepuasan", + icon: IconCheck, }, ]; - // Ide inovatif data - const ideInovatif = [ - { - nama: "Andi Prasetyo", - judul: "Penerapan Smart Village", - kategori: "Teknologi", - }, - { - nama: "Rina Kusuma", - judul: "Program Ekowisata Desa", - kategori: "Ekonomi", - }, - { - nama: "Bambang Suryono", - judul: "Peningkatan Sanitasi", - kategori: "Kesehatan", - }, - { - nama: "Lina Marlina", - judul: "Pusat Kreatif Anak Muda", - kategori: "Pendidikan", - }, + // Line chart data for complaint trends + const trendData = [ + { month: "Jan", complaints: 32 }, + { month: "Feb", complaints: 45 }, + { month: "Mar", complaints: 38 }, + { month: "Apr", complaints: 52 }, + { month: "Mei", complaints: 48 }, + { month: "Jun", complaints: 61 }, ]; - const [activeTab, setActiveTab] = useState<"complaints" | "services">( - "complaints", - ); - const [newComplaint, setNewComplaint] = useState({ - title: "", - category: "", - description: "", - }); + // Horizontal bar chart data for most requested documents + const documentData = [ + { name: "KTP", count: 145 }, + { name: "Kartu Keluarga", count: 128 }, + { name: "Surat Domisili", count: 96 }, + { name: "Surat Usaha", count: 74 }, + { name: "SKCK", count: 52 }, + ]; - // Sample data for complaints - const complaints = [ + // Recent applications data + const recentApplications = [ { id: 1, - title: "Jalan Rusak di Jalan Raya", - category: "Infrastruktur", - status: "Pending", - priority: "High", - date: "2024-02-01", - reporter: "Bapak Ahmad", + name: "Budi Santoso", + type: "KTP Elektronik", + date: "10 Mar 2025", + status: "Selesai", + statusColor: "green", + statusText: "bg-green-100 text-green-800", }, { id: 2, - title: "Pemadaman Listrik Berkelanjutan", - category: "Utilitas", - status: "In Progress", - priority: "Medium", - date: "2024-02-03", - reporter: "Ibu Sari", + name: "Siti Aminah", + type: "Surat Domisili", + date: "10 Mar 2025", + status: "Diproses", + statusColor: "yellow", + statusText: "bg-yellow-100 text-yellow-800", }, { id: 3, - title: "Pelayanan Administrasi Lambat", - category: "Administrasi", - status: "Resolved", - priority: "Low", - date: "2024-01-28", - reporter: "Pak Joko", + name: "Ahmad Fauzi", + type: "Kartu Keluarga", + date: "9 Mar 2025", + status: "Baru", + statusColor: "blue", + statusText: "bg-blue-100 text-blue-800", }, { id: 4, - title: "Kebersihan Lingkungan", - category: "Sanitasi", - status: "Pending", - priority: "Medium", - date: "2024-02-05", - reporter: "Bu Dewi", + name: "Dewi Lestari", + type: "Surat Usaha", + date: "9 Mar 2025", + status: "Selesai", + statusColor: "green", + statusText: "bg-green-100 text-green-800", + }, + { + id: 5, + name: "Joko Widodo", + type: "SKCK", + date: "8 Mar 2025", + status: "Diproses", + statusColor: "yellow", + statusText: "bg-yellow-100 text-yellow-800", }, ]; - // Sample data for public services - const services = [ + // Innovation ideas data + const innovationIdeas = [ { id: 1, - name: "Pembuatan KTP", - description: - "Pelayanan pembuatan Kartu Tanda Penduduk baru atau perpanjangan", - status: "Available", - category: "Administrasi", - lastUpdated: "2024-02-01", + title: "Sistem Antrian Online", + submitter: "Andi Prasetyo", + category: "Teknologi", }, { id: 2, - name: "Pembuatan Surat Keterangan Usaha", - description: "Surat keterangan untuk keperluan usaha atau perizinan", - status: "Available", - category: "Administrasi", - lastUpdated: "2024-02-02", + title: "Layanan Jemput Dokumen", + submitter: "Rina Kusuma", + category: "Pelayanan", }, { id: 3, - name: "Pelayanan Kesehatan", - description: "Pelayanan kesehatan dasar di puskesmas desa", - status: "Available", - category: "Kesehatan", - lastUpdated: "2024-01-30", + title: "Digitalisasi Arsip Desa", + submitter: "Bambang Suryono", + category: "Administrasi", }, { id: 4, - name: "Program Bantuan Sosial", - description: - "Informasi dan pendaftaran program bantuan sosial dari pemerintah", - status: "Limited", - category: "Sosial", - lastUpdated: "2024-02-04", + title: "Aplikasi Pengaduan Mobile", + submitter: "Lina Marlina", + category: "Teknologi", }, ]; - const handleInputChange = ( - e: React.ChangeEvent, - ) => { - const { name, value } = e.target; - setNewComplaint((prev) => ({ - ...prev, - [name]: value, - })); + const COLORS = ["#1E3A5F", "#3B82F6", "#60A5FA", "#93C5FD", "#DBEAFE"]; + + const cardStyle = { + backgroundColor: dark ? "#141D34" : "white", + border: `1px solid ${dark ? "#141D34" : "white"}`, }; - const handleSelectChange = (value: string | null) => { - setNewComplaint((prev) => ({ - ...prev, - category: value || "", // Ensure category is always a string - })); + const textStyle = { + color: dark ? "white" : "#1F2937", }; - const handleSubmitComplaint = (e: React.FormEvent) => { - e.preventDefault(); - console.log("Submitting complaint:", newComplaint); - // Here you would typically send the complaint to your backend - alert("Pengaduan berhasil dikirim!"); - setNewComplaint({ title: "", category: "", description: "" }); - }; - - // Render complaint table rows - const complaintRows = complaints.map((complaint) => ( - - - {complaint.title} - - - {complaint.category} - - - - {complaint.status} - - - - - {complaint.priority} - - - - {complaint.date} - - - )); - - // Status badge color mapping - const getStatusColor = (status: string) => { - switch (status) { - case "baru": - return "red"; - case "diproses": - return "yellow"; - case "selesai": - return "green"; - default: - return "gray"; - } + const subtitleStyle = { + color: dark ? "#9CA3AF" : "#6B7280", }; return ( - - {activeTab === "complaints" ? ( - <> - {/* Summary Cards */} - - - - - - - Total Pengaduan - - - {summaryData.total} - - - +
+ {/* Row 1: 4 Statistic Cards */} +
+ {statsData.map((stat, index) => ( +
+
+
+

- - - - - + {stat.title} +

+

+ {stat.value} +

+

+ {stat.subtitle} +

+
+
+
+ +
+
+
+
+ ))} +
- - - - - - Baru - - - {summaryData.baru} - - - - - - - - - - - - - - - Diproses - - - {summaryData.diproses} - - - - - - - - - - - - - - - Selesai - - - {summaryData.selesai} - - - - - - - - - - - {/* Grafik Tren Pengaduan */} - +

- - Grafik Tren Pengaduan - - - + Tren Pengaduan Warga +

+ + + + + + + + + +
+ + {/* Row 3: 3 Column Grid */} +
+ {/* Left: Most Requested Documents (Horizontal Bar Chart) */} +
+

+ Dokumen Paling Banyak Diminta +

+ + - - + + {documentData.map((entry, index) => ( + + ))} + + - +
- {/* Surat Terbanyak & Pengajuan Terbaru & Ide Inovatif */} - - {/* Surat Terbanyak */} - - - - Surat Terbanyak - - - - - - - - - - - - + {/* Middle: Recent Applications */} +
+

+ Pengajuan Terbaru +

+
+ {recentApplications.map((app) => ( +
+
+

+ {app.name} +

+

+ {app.type} +

+
+
+ + {app.status} + +

+ {app.date} +

+
+
+ ))} +
+
- {/* Pengajuan Terbaru */} - - - - Pengajuan Terbaru - - {pengajuanTerbaru.map((item, index) => ( - - - - - {item.nama} - - - {item.jenis} - - - - - {item.status} - - - {item.waktu} - - - - - - ))} - - - - {/* Ajuan Ide Inovatif */} - - - - Ajuan Ide Inovatif - - {ideInovatif.map((item, index) => ( - - - - - {item.judul} - - - {item.nama} - - - - - {item.kategori} - - - - - - - - - ))} - - -
- - {/* Complaint Submission Form and List */} - - {/* Complaint Submission Form */} - - - - - Ajukan Pengaduan - - - -
- - - -