<?php
session_start();

// Untuk debugging (opsional, HINDARI DI LINGKUNGAN PRODUKSI)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Cek apakah kader sudah login
if (!isset($_SESSION['kader_id']) || !$_SESSION['kader_logged_in']) {
    header('Location: ../auth/kader_login.php'); 
    exit();
}

require_once '../api/db_connect.php'; 

$kader_username = "Kader"; 
$kader_full_name = "Kader Posyandu"; 
$kader_desa = ""; // Variabel untuk menyimpan nama desa/village kader
$statistik_error = false; 

// --- Ambil Nama dan Desa Kader dari Database atau Sesi ---
// Kolom 'desa' diambil dari tabel 'kader_posyandu'
try {
    if (isset($_SESSION['kader_full_name']) && isset($_SESSION['kader_desa'])) {
        $kader_full_name = htmlspecialchars($_SESSION['kader_full_name']);
        $kader_username = htmlspecialchars($_SESSION['kader_username']); 
        $kader_desa = htmlspecialchars($_SESSION['kader_desa']); 
        // error_log("[KADER_DASHBOARD_DEBUG] Nama dan Desa dari sesi: " . $kader_full_name . " (" . $kader_desa . ")"); 
    } else {
        $kader_id = $_SESSION['kader_id'];
        // Pastikan kolom 'desa' ada di tabel 'kader_posyandu'
        $stmt_kader = $pdo->prepare("SELECT full_name, username, desa FROM kader_posyandu WHERE id = :kader_id");
        $stmt_kader->bindParam(':kader_id', $kader_id, PDO::PARAM_INT);
        $stmt_kader->execute();
        $kader_data = $stmt_kader->fetch(PDO::FETCH_ASSOC);

        if ($kader_data) {
            $kader_full_name = htmlspecialchars($kader_data['full_name']);
            $kader_username = htmlspecialchars($kader_data['username']);
            $kader_desa = htmlspecialchars($kader_data['desa']); // Ambil nama desa dari kader_posyandu
            $_SESSION['kader_full_name'] = $kader_full_name;
            $_SESSION['kader_username'] = $kader_username;
            $_SESSION['kader_desa'] = $kader_desa; 
            // error_log("[KADER_DASHBOARD_DEBUG] Nama dan Desa dari DB: " . $kader_full_name . " (" . $kader_desa . ")");
        } else {
            $kader_full_name = "Kader Tidak Ditemukan"; 
            $kader_username = "Tidak Dikenal";
            $kader_desa = "Tidak Diketahui"; 
            // error_log("[KADER_DASHBOARD_DEBUG] Kader tidak ditemukan di DB untuk ID: " . $kader_id);
        }
    }
} catch (PDOException $e) {
    error_log("[KADER_DASHBOARD_ERROR] Gagal memuat nama atau desa kader: " . $e->getMessage() . " | SQLSTATE: " . $e->getCode());
    $kader_full_name = "Error Memuat Data Nama"; 
    $kader_desa = "Error"; 
}

// Inisialisasi variabel untuk data statistik (nilai default)
$total_ibu_hamil = 0;
$laporan_menunggu_verifikasi = 0;

// --- Ambil Data Statistik untuk Overview Kader berdasarkan Desa/Village ---
if (!empty($kader_desa) && $kader_desa !== "Error" && $kader_desa !== "Tidak Diketahui") { 
    try {
        // Menghitung Total Ibu Hamil HANYA untuk desa/village kader yang login
        // MENGGUNAKAN KOLOM 'village' DI TABEL 'users'
        $stmt_total_ibu_hamil = $pdo->prepare("SELECT COUNT(id) AS total FROM users WHERE role = 'ibu_hamil' AND village = :kader_desa");
        $stmt_total_ibu_hamil->bindParam(':kader_desa', $kader_desa, PDO::PARAM_STR);
        $stmt_total_ibu_hamil->execute();
        $total_ibu_hamil = $stmt_total_ibu_hamil->fetchColumn();
        // error_log("[KADER_DASHBOARD_DEBUG] Total Ibu Hamil di " . $kader_desa . ": " . $total_ibu_hamil);

        // Menghitung Laporan Kehamilan Menunggu Verifikasi HANYA untuk desa/village kader yang login
        // Join ke tabel `users` untuk memfilter berdasarkan kolom `village` di tabel users
        $stmt_menunggu_verifikasi = $pdo->prepare("
            SELECT COUNT(lk.id) AS total 
            FROM laporan_kehamilan lk
            JOIN users u ON lk.user_id = u.id 
            WHERE lk.verif = 0 AND u.village = :kader_desa
        ");
        // Atau, jika tabel `laporan_kehamilan` juga memiliki kolom `village` (direkomendasikan untuk performa)
        // $stmt_menunggu_verifikasi = $pdo->prepare("SELECT COUNT(id) AS total FROM laporan_kehamilan WHERE verif = 0 AND village = :kader_desa");
        
        $stmt_menunggu_verifikasi->bindParam(':kader_desa', $kader_desa, PDO::PARAM_STR);
        $stmt_menunggu_verifikasi->execute();
        $laporan_menunggu_verifikasi = $stmt_menunggu_verifikasi->fetchColumn();
        // error_log("[KADER_DASHBOARD_DEBUG] Laporan Menunggu Verifikasi di " . $kader_desa . ": " . $laporan_menunggu_verifikasi);

        // Fitur "Ibu Hamil Risiko Tinggi" telah dihapus sementara sesuai permintaan.
        // Variabel ini tidak lagi digunakan, tetapi diinisialisasi untuk menghindari error "undefined variable" jika ada sisa kode HTML yang merujuk.
        $ibu_hamil_risiko_tinggi = "N/A"; 
       
    } catch (PDOException $e) {
        error_log("[KADER_DASHBOARD_ERROR] Gagal memuat data statistik desa " . $kader_desa . ": " . $e->getMessage() . " | SQLSTATE: " . $e->getCode());
        $statistik_error = true; 
        $total_ibu_hamil = "N/A";
        $laporan_menunggu_verifikasi = "N/A";
        // Tidak perlu mengatur ibu_hamil_risiko_tinggi di sini karena sudah dihapus.
    }
} else {
    // Jika desa kader tidak ditemukan atau bermasalah
    $statistik_error = true;
    error_log("[KADER_DASHBOARD_ERROR] Desa kader tidak valid atau tidak ditemukan. Tidak dapat memuat statistik.");
    $total_ibu_hamil = "N/A (Desa kader tidak ditemukan)";
    $laporan_menunggu_verifikasi = "N/A (Desa kader tidak ditemukan)";
    // Tidak perlu mengatur ibu_hamil_risiko_tinggi di sini karena sudah dihapus.
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dashboard Kader - Posyandu</title>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <link href='https://unpkg.com/boxicons@2.1.2/css/boxicons.min.css' rel='stylesheet'>
    
    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    
    <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 rel="stylesheet" href="../css/style_kader_dashboard.css"> 

</head>
<body>
    
<header class="main-header">
    <div class="header-left">
        <div class="profile-icon">
            <i class="fas fa-user-circle"></i>
        </div>
        <div class="user-info">
            <p>Halo, <span id="username"><?php echo $kader_full_name; ?></span></p>

        </div>
    </div>
    <div class="header-right">
        <a href="#" title="Notifikasi"><i class="far fa-bell"></i></a> 
        <a href="../auth/kader_logout.php" title="Logout"><i class="fas fa-sign-out-alt"></i></a> 
    </div>
</header>

<main class="main-content-area">
    <section class="hero-card kader-overview-card">
        <div class="card-content">
            <h2>Ringkasan Data Posyandu</h2>
            <?php if ($statistik_error): ?>
                <p style="color: white; background-color: rgba(255,0,0,0.5); padding: 5px 10px; border-radius: 5px; font-weight: bold; margin-bottom: 15px;">
                    Terjadi masalah saat memuat data statistik. Pastikan nama desa kader sudah terisi dan struktur tabel sesuai (lihat log error).
                </p>
                <div class="overview-grid">
                    <div class="overview-item"><h3><?php echo $total_ibu_hamil; ?></h3><p>Total Ibu Hamil</p></div>
                    <div class="overview-item"><h3><?php echo $laporan_menunggu_verifikasi; ?></h3><p>Laporan Menunggu Verifikasi</p></div>
                    </div>
            <?php else: ?>
                <div class="overview-grid">
                    <div class="overview-item">
                        <h3><?php echo $total_ibu_hamil; ?></h3>
                        <p>Total Ibu Hamil</p>
                    </div>
                    <div class="overview-item">
                        <h3><?php echo $laporan_menunggu_verifikasi; ?></h3>
                        <p>Laporan Menunggu Verifikasi</p>
                    </div>
                    </div>
            <?php endif; ?>
            <button class="action-btn" onclick="window.location.href='daftar_ibu_hamil.php'">Lihat Detail Ibu Hamil</button>
        </div>
    </section>

    <section class="function-cards-container">
        <div class="function-card">
            <a href="laporkehamilan/" class="icon-link">
                <div class="card-icon-wrapper green">
                    <i class="fas fa-users"></i>
                </div>
            </a> 
            <p>Data Ibu Hamil</p>
        </div>
        <div class="function-card">
            <a href="verifikasi_laporan.php" class="icon-link">
                <div class="card-icon-wrapper blue">
                    <i class="fas fa-check-square"></i>
                </div>
            </a> 
            <p>Verifikasi Laporan</p>
        </div>
        <div class="function-card">
            <a href="jadwalposyandu/" class="icon-link">
                <div class="card-icon-wrapper purple">
                    <i class="fas fa-calendar-alt"></i>
                </div>
            </a> 
            <p>Kelola Jadwal</p>
        </div>
        <div class="function-card">
            <a href="input_data_medis.php" class="icon-link">
                <div class="card-icon-wrapper orange">
                    <i class="fas fa-notes-medical"></i>
                </div>
            </a> 
            <p>Input Data Medis</p>
        </div>
    </section>
</main>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>