behlil's picture
add files
66df09f verified
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Email Spam Classifier</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<div class="container">
<h1>Email Spam Classifier</h1>
<!-- Form for entering email -->
<textarea id="emailInput" rows="6" cols="50" placeholder="Enter email content here..."></textarea>
<div>
<button id="checkButton">Check</button>
<button id="resetButton">Reset</button>
</div>
<!-- Display error message or prediction -->
<p id="outputMessage" class="message"></p>
</div>
<script>
// JavaScript to handle form submission and reset functionality
document.getElementById("checkButton").addEventListener("click", async () => {
const emailContent = document.getElementById("emailInput").value.trim();
const outputMessage = document.getElementById("outputMessage");
// Clear previous results
outputMessage.textContent = "";
if (!emailContent) {
outputMessage.textContent = "Please enter some text to classify.";
outputMessage.style.color = "red";
return;
}
try {
// Send email content to the Flask backend for prediction
const response = await fetch("/predict", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: emailContent }),
});
const result = await response.json();
if (response.ok) {
outputMessage.textContent = `This email is ${result.result}.`;
outputMessage.style.color = result.result === "SPAM" ? "red" : "green";
} else {
outputMessage.textContent = result.error || "An error occurred.";
outputMessage.style.color = "red";
}
} catch (error) {
outputMessage.textContent = "An error occurred while processing your request.";
outputMessage.style.color = "red";
}
});
// Reset button functionality
document.getElementById("resetButton").addEventListener("click", () => {
document.getElementById("emailInput").value = "";
document.getElementById("outputMessage").textContent = "";
});
</script>
</body>
</html>