document.addEventListener("DOMContentLoaded", () => { const imageInput = document.getElementById('imageInput'); const imageContainer = document.getElementById('imageContainer'); const uploadedImage = document.getElementById('uploadedImage'); const predictBtn = document.getElementById('predictBtn'); const predictionResult = document.getElementById('predictionResult'); const confidenceBar = document.getElementById('confidenceBar'); const confidenceText = document.getElementById('confidenceText'); imageInput.addEventListener('change', () => { const file = imageInput.files[0]; if (file) { const reader = new FileReader(); reader.onload = (e) => { uploadedImage.src = e.target.result; uploadedImage.style.display = 'block'; }; reader.readAsDataURL(file); } else { uploadedImage.style.display = 'none'; } }); predictBtn.addEventListener('click', async () => { if (!imageInput.files.length) { alert('Please upload an image first.'); return; } const formData = new FormData(); formData.append('image', imageInput.files[0]); const response = await fetch('/camera_predict', { method: 'POST', body: formData }); const data = await response.json(); const wildfirePrediction = data.wildfire_prediction; const confidence = data.confidence; const predictionPercentage = data.prediction_percentage; predictionResult.textContent = wildfirePrediction ? 'THERE IS A WILDFIRE' : 'THERE IS NO WILDFIRE'; confidenceBar.style.width = `${confidence}%`; confidenceText.textContent = `Confidence: ${confidence}%`; }); });