import { IconArrowDown, IconArrowUp, IconBabyCarriage, IconSkull, IconUsers, IconHome, IconExclamationCircle, } from "@tabler/icons-react"; 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 (
{/* Row 1: 4 Statistic Cards */}
{kpiData.map((kpi) => (

{kpi.title}

{kpi.value}

{kpi.subtitle}

))}
{/* Row 2: 2 Chart Cards */}
{/* Age Distribution Bar Chart */}

Grafik Pengelompokan Umur

{ageDistributionData.map((entry, index) => ( ))}
{/* Job Distribution Bar Chart */}

Demografi Pekerjaan

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

Distribusi Agama

`${name}: ${percent ? (percent * 100).toFixed(0) : 0}%` } > {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}

))}
); }; export default DemografiPekerjaan;