import { BarChart, PieChart } from "@mantine/charts"; import { Box, Card, Grid, Group, Stack, Table, Text, Title, useMantineColorScheme, } from "@mantine/core"; import { IconArrowDown, IconArrowUp, IconBabyCarriage, IconSkull, } 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", }, ]; const DemografiPekerjaan = () => { const { colorScheme } = useMantineColorScheme(); const dark = colorScheme === "dark"; return ( {/* KPI 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} )} ))} {/* Charts Section */} {/* Grafik Pengelompokan Umur */} 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()} ))}
{/* Statistik Dinamika Penduduk */} Statistik Dinamika Penduduk {dynamicStats.map((stat, index) => ( {stat.title} {stat.value} {stat.icon} ))}
); }; export default DemografiPekerjaan;