import React, { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { X, Info } from "lucide-react"; import axios from "axios"; interface SplModalProps { isOpen: boolean; onClose: () => void; idMcPelaporan: number; } interface SplData { nilai: number; keterangan: string; detail: { nama_ipal: string; parameter: string; baku_mutu: number; hasil_uji: number; keterangan: string; }[]; } const SplModal: React.FC = ({ isOpen, onClose, idMcPelaporan, }) => { const [splData, setSplData] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { if (isOpen) { loadSplData(); } }, [isOpen, idMcPelaporan]); const loadSplData = async () => { setLoading(true); try { const response = await axios.get( `/pelaporan/al/spl/${idMcPelaporan}` ); setSplData(response.data); } catch (error) { console.error("Error loading SPL data:", error); } finally { setLoading(false); } }; if (!isOpen) return null; return (

Nilai Tingkat Pemenuhan Baku Mutu Air Limbah (SPBM AL)

{loading ? (
) : splData ? ( <>

Nilai SPBMAL dihitung otomatis berdasarkan data hasil uji yang dimasukkan.

Nilai SPBMAL:

{splData.nilai.toFixed(2)}%

Detail Hasil Uji:

{splData.detail.length === 0 ? (

Belum ada data hasil uji

) : (
{splData.detail.map( (item, index) => ( ) )}
IPAL Parameter Baku Mutu Hasil Uji Keterangan
{item.nama_ipal} {item.parameter} {item.baku_mutu} item.baku_mutu ? "text-red-600" : "text-green-600" }`} > {item.hasil_uji} {item.keterangan}
)} {splData.keterangan && (

Keterangan:

{splData.keterangan}

)} ) : (

Data tidak tersedia

)}
); }; export default SplModal;