<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Solar Monitoring Dashboard</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f9;
            color: #333;
        }

        header {
            background-color: #4CAF50;
            color: white;
            text-align: center;
            padding: 20px 0;
        }

        .container {
            padding: 20px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }

        .card {
            background: white;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            padding: 20px;
            text-align: center;
        }

        .card h2 {
            margin: 10px 0;
            font-size: 1.5em;
            color: #4CAF50;
        }

        .card p {
            font-size: 1.2em;
        }
    </style>
    <script>
        function fetchData() {
            fetch('fetch_solar_data.php')
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok');
                    }
                    return response.json();
                })
                .then(data => {
                    if (data) {
                        document.getElementById('timestamp').textContent = data.timestamp || 'N/A';
                        document.getElementById('temp').textContent = `${data.temp || 'N/A'} °C`;
                        document.getElementById('hum').textContent = `${data.hum || 'N/A'} %`;
                        document.getElementById('windSpeed').textContent = `${data.windSpeed || 'N/A'} m/s`;
                        document.getElementById('windDir').textContent = `${data.windDir || 'N/A'} °`;
                        document.getElementById('irradiance').textContent = `${data.irradiance || 'N/A'} W/m²`;
                        document.getElementById('airDensity').textContent = `${data.airDensity || 'N/A'} kg/m³`;

                        let dustLabel = 'N/A';
                        if (data.dust < 3) {
                            dustLabel = 'Low';
                        } else if (data.dust < 6) {
                            dustLabel = 'Moderate';
                        } else {
                            dustLabel = 'High';
                        }
                        document.getElementById('dust').textContent = `${data.dust || 'N/A'} (${dustLabel})`;

                        document.getElementById('solarVoltage').textContent = `${data.solarVoltage || 'N/A'} V`;
                        document.getElementById('solarCurrent').textContent = `${data.solarCurrent || 'N/A'} A`;
                        document.getElementById('solarPower').textContent = `${data.solarPower || 'N/A'} W`;
                        document.getElementById('invVoltage').textContent = `${data.invVoltage || 'N/A'} V`;
                        document.getElementById('invCurrent').textContent = `${data.invCurrent || 'N/A'} A`;
                        document.getElementById('invPower').textContent = `${data.invPower || 'N/A'} W`;
                    }
                })
                .catch(error => console.error('Error fetching data:', error));
        }

        setInterval(fetchData, 10000);
        window.onload = fetchData;
    </script>
</head>

<body>
    <header>
        <h1>Solar Monitoring Dashboard</h1>
    </header>
    <div class="container">
        <div class="card">
            <h2>Timestamp</h2>
            <p id="timestamp">Loading...</p>
        </div>
        <div class="card">
            <h2>Temperature</h2>
            <p id="temp">Loading...</p>
        </div>
        <div class="card">
            <h2>Humidity</h2>
            <p id="hum">Loading...</p>
        </div>
        <div class="card">
            <h2>Wind Speed</h2>
            <p id="windSpeed">Loading...</p>
        </div>
        <div class="card">
            <h2>Wind Direction</h2>
            <p id="windDir">Loading...</p>
        </div>
        <div class="card">
            <h2>Irradiance</h2>
            <p id="irradiance">Loading...</p>
        </div>
        <div class="card">
            <h2>Air Density</h2>
            <p id="airDensity">Loading...</p>
        </div>
        <div class="card">
            <h2>Dust Level</h2>
            <p id="dust">Loading...</p>
        </div>
        <div class="card">
            <h2>Solar Voltage</h2>
            <p id="solarVoltage">Loading...</p>
        </div>
        <div class="card">
            <h2>Solar Current</h2>
            <p id="solarCurrent">Loading...</p>
        </div>
        <div class="card">
            <h2>Solar Power</h2>
            <p id="solarPower">Loading...</p>
        </div>
        <div class="card">
            <h2>Inverter Voltage</h2>
            <p id="invVoltage">Loading...</p>
        </div>
        <div class="card">
            <h2>Inverter Current</h2>
            <p id="invCurrent">Loading...</p>
        </div>
        <div class="card">
            <h2>Inverter Power</h2>
            <p id="invPower">Loading...</p>
        </div>
    </div>
</body>

</html>