diff --git a/src/app/darmasaba/_com/main-page/apbdes/lib/grafikRealisasi.tsx b/src/app/darmasaba/_com/main-page/apbdes/lib/grafikRealisasi.tsx index 58f8dca3..81c480ff 100644 --- a/src/app/darmasaba/_com/main-page/apbdes/lib/grafikRealisasi.tsx +++ b/src/app/darmasaba/_com/main-page/apbdes/lib/grafikRealisasi.tsx @@ -5,7 +5,7 @@ function Summary({ title, data }: any) { if (!data || data.length === 0) return null; const totalAnggaran = data.reduce((s: number, i: any) => s + i.anggaran, 0); - const totalRealisasi = data.reduce((s: number, i: any) => s + i.realisasi, 0); + const totalRealisasi = data.reduce((s: number, i: any) => s + i.totalRealisasi, 0); const persen = totalAnggaran > 0 ? (totalRealisasi / totalAnggaran) * 100 : 0; @@ -36,38 +36,38 @@ function Summary({ title, data }: any) { {persen.toFixed(2)}% - + Realisasi: {formatRupiah(totalRealisasi)} / Anggaran: {formatRupiah(totalAnggaran)} - - - + {persen >= 100 && ( ✓ Realisasi mencapai 100% dari anggaran )} - + {persen < 100 && persen >= 80 && ( ⚡ Realisasi baik, mendekati target )} - + {persen < 80 && persen >= 60 && ( ⚠️ Realisasi cukup, perlu ditingkatkan )} - + {persen < 60 && ( ⚠️ Realisasi rendah, perlu perhatian khusus @@ -87,7 +87,7 @@ export default function GrafikRealisasi({ apbdesData }: any) { // Hitung total keseluruhan const totalAnggaranSemua = items.reduce((s: number, i: any) => s + i.anggaran, 0); - const totalRealisasiSemua = items.reduce((s: number, i: any) => s + i.realisasi, 0); + const totalRealisasiSemua = items.reduce((s: number, i: any) => s + i.totalRealisasi, 0); const persenSemua = totalAnggaranSemua > 0 ? (totalRealisasiSemua / totalAnggaranSemua) * 100 : 0; const formatRupiah = (angka: number) => { @@ -105,30 +105,32 @@ export default function GrafikRealisasi({ apbdesData }: any) { GRAFIK REALISASI APBDes {tahun} + {/* Summary Total Keseluruhan */} + + <> + + TOTAL KESELURUHAN + = 100 ? 'teal' : persenSemua >= 80 ? 'blue' : 'red'}> + {persenSemua.toFixed(2)}% + + + + {formatRupiah(totalRealisasiSemua)} / {formatRupiah(totalAnggaranSemua)} + + = 100 ? 'teal' : persenSemua >= 80 ? 'blue' : 'red'} + /> + + + - - {/* Summary Total Keseluruhan */} - - - TOTAL KESELURUHAN - = 100 ? 'teal' : persenSemua >= 80 ? 'blue' : 'red'}> - {persenSemua.toFixed(2)}% - - - - {formatRupiah(totalRealisasiSemua)} / {formatRupiah(totalAnggaranSemua)} - - = 100 ? 'teal' : persenSemua >= 80 ? 'blue' : 'red'} - /> - ); } \ No newline at end of file