<?php
session_start();
include '../../api/db_connect.php'; // Pastikan path ini benar dan $pdo terinisialisasi

$judul_card = "Status Laporan Kehamilan"; // Judul utama card
$teks_status_utama = "Anda belum memiliki laporan kehamilan."; // Default jika tidak ada laporan
$detail_status = "Silakan klik tombol di bawah untuk membuat laporan baru."; // Default detail status
$link_laporan = "lapor_kehamilan/index.php"; // Link ke halaman form laporan, ini akan diubah via JS
$display_card_status = false; // Flag untuk menampilkan schedule card status atau tidak
$status_icon_class = 'bx bx-info-circle'; // Default icon jika belum ada laporan/info
$status_class = ''; // Untuk kelas CSS tambahan pada card berdasarkan status
$latest_report_detail = null; // Variabel untuk menyimpan detail laporan terbaru yang akan ditampilkan

// Pastikan variabel $pdo didefinisikan dan merupakan objek PDO
if (!isset($pdo) || !($pdo instanceof PDO)) {
    $teks_status_utama = "Koneksi database gagal dimuat.";
    $detail_status = "Silakan hubungi administrator.";
    $status_icon_class = 'bx bx-error-alt'; // Icon error
    $display_card_status = true; // Tampilkan schedule card dengan pesan error koneksi
    $status_class = 'status-error'; // Tambahkan kelas untuk styling error
} elseif (!isset($_SESSION['user_nik'])) { // <<< Mengganti user_id menjadi user_nik di sini
    $teks_status_utama = "Silakan Login.";
    $detail_status = "Anda harus login untuk melihat atau membuat laporan.";
    $link_laporan = "../auth/login.php"; // Arahkan ke halaman login jika belum login
    $status_icon_class = 'bx bx-user-circle'; // Icon user belum login
    $display_card_status = true; // Tampilkan schedule card dengan pesan untuk login
    $status_class = 'status-info'; // Tambahkan kelas untuk styling info
} else {
    // User sudah login dan koneksi database OK
    $user_nik = $_SESSION['user_nik']; // <<< Menggunakan user_nik dari session

    try {
        // Query untuk mendapatkan laporan kehamilan terbaru berdasarkan NIK
        $stmt = $pdo->prepare("
            SELECT
                id, hpht, hari_tidak_haid, ada_bukti, bukti_foto, tanggal_lapor,
                verif, status, type_sumber
            FROM
                laporan_kehamilan
            WHERE
                nik = :nik -- <<< Menggunakan NIK sebagai kondisi
            ORDER BY
                tanggal_lapor DESC
            LIMIT 1
        ");
        $stmt->bindParam(':nik', $user_nik, PDO::PARAM_STR); // <<< Bind NIK sebagai parameter
        $stmt->execute();
        $latest_report_detail = $stmt->fetch(PDO::FETCH_ASSOC); // Simpan hasil query untuk detail

        if ($latest_report_detail) {
            $display_card_status = true; // Laporan ditemukan, tampilkan schedule card status
            $status_verifikasi_db = $latest_report_detail['verif']; // Ambil nilai dari kolom 'verif'

            $judul_card = "Laporan Kehamilan Anda";

            // Logika status card utama hanya berdasarkan nilai kolom 'verif'
            if ($status_verifikasi_db == 1) { // Jika verif bernilai 1 (terverifikasi)
                $teks_status_utama = "Status kehamilan Anda sudah terverifikasi.";
                $detail_status = "Jika ada informasi lanjutan, Anda akan dihubungi melalui WhatsApp oleh Bidan desa terkait.";
                $status_icon_class = 'bx bx-check-circle'; // Icon ceklis
                $status_class = 'status-approved'; // Menggunakan kelas approved untuk styling hijau
            } else { // Jika verif bernilai 0, NULL, atau nilai lain (belum terverifikasi)
                $teks_status_utama = "Laporan Anda dalam Proses Verifikasi.";
                $detail_status = "Puskesmas Kraksaan sedang memverifikasi laporan kehamilan Anda. Anda akan di hubungi bidan desa setempat. Mohon tunggu & Cek secara berkala.";
                $status_icon_class = 'bx bx-time-five'; // Icon jam
                $status_class = 'status-pending'; // Menggunakan kelas pending untuk styling kuning/orange
            }
            
            $link_laporan = "#"; // Akan diubah oleh JavaScript untuk menampilkan detail di halaman ini
        } else {
            $display_card_status = true; // Tetap tampilkan schedule card
            // Teks default sudah diatur di atas: "Anda belum memiliki laporan kehamilan."
            // "Silakan klik tombol di bawah untuk membuat laporan baru."
            // Status icon dan class juga default
        }

    } catch (PDOException $e) {
        error_log("Error fetching latest pregnancy report: " . $e->getMessage());
        $teks_status_utama = "Gagal memuat status laporan.";
        $detail_status = "Terjadi masalah database. Silakan coba lagi nanti atau hubungi administrator.";
        $status_icon_class = 'bx bx-error-alt';
        $display_card_status = true;
        $status_class = 'status-error';
        $latest_report_detail = null; // Pastikan detail tidak tampil jika ada error
    }
}

// Cek apakah ada parameter 'show_detail' di URL untuk menampilkan detail laporan
$show_detail_on_load = isset($_GET['show_detail']) && $_GET['show_detail'] === 'true';

// Jika ada laporan dan parameter show_detail=true, maka tampilkan detailnya
$display_report_detail = ($latest_report_detail && $show_detail_on_load);

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Status Laporan Ibu Hamil</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">

    <link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha512-..." crossorigin="anonymous" referrerpolicy="no-referrer" />

    <link href='https://unpkg.com/boxicons@2.1.2/css/boxicons.min.css' rel='stylesheet'>

    <link rel="stylesheet" href="../../css/style.css">
</head>
<body>

    <header class="page-header">
        <h1>Laporan Kehamilan</h1>
    </header>

    <main class="main-content-area dashboard-page">
        <div class="container">
            <?php if ($display_card_status): ?>
            <div class="schedule-card <?php echo htmlspecialchars($status_class); ?>">
                <h4><?php echo htmlspecialchars($judul_card); ?></h4>
                <div class="schedule-item">
                    <i class='<?php echo htmlspecialchars($status_icon_class); ?> schedule-icon'></i>
                    <div class="schedule-details">
                        <span class="date-time"><?php echo htmlspecialchars($teks_status_utama); ?></span>
                        <p class="location"><?php echo htmlspecialchars($detail_status); ?></p>
                    </div>
                </div>
                <a href="#" id="toggleReportDetail" class="btn-lihat-laporan">Lihat Detail Laporan</a>
            </div>
            <?php endif; ?>

            <?php if (!isset($_SESSION['user_nik'])): // Mengganti user_id menjadi user_nik di sini ?>
                 <div class="alert alert-info text-center" role="alert">
                    Silakan login untuk melihat status laporan Anda.
                    <a href="../auth/login.php" class="alert-link">Login Sekarang</a>
                </div>
            <?php endif; ?>

            <div id="reportDetailContainer" class="form-container report-section mt-4" style="display: <?php echo $display_report_detail ? 'block' : 'none'; ?>;">
                <?php if ($latest_report_detail): ?>
                <h6 class="mb-4 text-center">Detail Laporan Terakhir Anda</h6>
                <div class="report-card">
                    <div class="report-header">
                        <span class="report-status-badge status-<?php echo ($latest_report_detail['verif'] == 1) ? 'approved' : 'pending'; ?>">
                            <?php echo ($latest_report_detail['verif'] == 1) ? 'Terverifikasi' : 'Dalam Proses'; ?>
                        </span>
                        <?php if (!empty($latest_report_detail['status'])): ?>
                            <span class="report-status-badge status-secondary">
                                Status Tambahan: <?php echo htmlspecialchars(ucfirst($latest_report_detail['status'])); ?>
                            </span>
                        <?php endif; ?>
                    </div>
                    <div class="schedule-details">
                        <p><strong>Dilaporkan Pada:</strong> <?php echo (new DateTime($latest_report_detail['tanggal_lapor']))->format('d M Y H:i'); ?></p>
                        <p><strong>HPHT:</strong> <?php echo (new DateTime($latest_report_detail['hpht']))->format('d F Y'); ?></p>
                        <p><strong>Hari Tidak Haid:</strong> <?php echo htmlspecialchars($latest_report_detail['hari_tidak_haid']); ?> hari</p>
                        <p><strong>Ada Bukti:</strong> <?php echo htmlspecialchars(ucfirst($latest_report_detail['ada_bukti'])); ?></p>
                        <?php if ($latest_report_detail['ada_bukti'] === 'ya' && $latest_report_detail['bukti_foto']): ?>
                            <p>
                                <strong>Bukti Foto:</strong>
                                <a href="../uploads/<?php echo htmlspecialchars($latest_report_detail['bukti_foto']); ?>" target="_blank" class="proof-image-link">
                                    Lihat Foto <i class="fas fa-external-link-alt"></i>
                                </a>
                            </p>
                        <?php endif; ?>
                        <p><strong>Di laporken oleh :</strong> <?php echo htmlspecialchars($latest_report_detail['type_sumber']); ?>
                        </p>
                    </div>
                </div>
                <?php else: // Jika tidak ada laporan tapi user sudah login dan tombol diklik ?>
                    <div class="alert alert-info text-center" role="alert">
                        Anda belum memiliki laporan kehamilan.
                    </div>
                <?php endif; ?>
            </div>

        </div>
    </main>
<nav class="nav1">
    <ul class="nav-content1">
        <li class="nav-list1">
            <a href="../../" class="link-item1"> <i class='bx bx-home-alt link-icon1'></i> <span class="link-text1">Beranda</span>
            </a>
        </li>
        <li class="nav-list1">
            <a href="../../dataperkembangan/" class="link-item1">
                <i class='bx bx-category link-icon1'></i> <span class="link-text1">Fitur</span>
            </a>
        </li>
        <li class="nav-list1">
            <a href="../../jadwalposyandu/" class="link-item1">
                <i class='bx bx-chart link-icon1'></i> <span class="link-text1">Jadwal Posyandu</span>
            </a>
        </li>
        <li class="nav-list1">
            <a href="../../laporkehamilan/" class="link-item1 active1">
                <i class='bx bx-chat link-icon1'></i> <span class="link-text1">Lapor Kehamilan</span>
            </a>
        </li>
         <li class="nav-list1">
            <a href="../../profil/" class="link-item1">
                <i class='bx bx-user-circle link-icon1'></i> <span class="link-text1">Profil</span>
            </a>
        </li>
    </ul>
</nav>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
    <script src="../../js/script.js"></script>
    <script>
        document.addEventListener('DOMContentLoaded', function() {
            var toggleButton = document.getElementById('toggleReportDetail');
            var reportDetailContainer = document.getElementById('reportDetailContainer');

            if (toggleButton && reportDetailContainer) {
                toggleButton.addEventListener('click', function(e) {
                    e.preventDefault(); // Mencegah link berpindah halaman
                    if (reportDetailContainer.style.display === 'none' || reportDetailContainer.style.display === '') {
                        reportDetailContainer.style.display = 'block';
                        toggleButton.textContent = 'Sembunyikan Detail Laporan';
                        // Opsional: Gulir ke detail laporan
                        reportDetailContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });
                    } else {
                        reportDetailContainer.style.display = 'none';
                        toggleButton.textContent = 'Lihat Detail Laporan';
                    }
                });
            }
        });
    </script>
</body>
</html>