PhishGuardian/extension/popup.js

93 lines
3.3 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function() {
const loginButton = document.getElementById('login');
const checkMailButton = document.getElementById('check-mail');
const logoutButton = document.getElementById('logout');
const loginSection = document.getElementById('login-section');
const controlSection = document.getElementById('control-section');
// Check if already logged in
chrome.storage.local.get(['username', 'password'], function(items) {
if (items.username && items.password) {
loginSection.style.display = 'none';
controlSection.style.display = 'block';
} else {
loginSection.style.display = 'block';
controlSection.style.display = 'none';
}
});
loginButton.addEventListener('click', function() {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
fetch('http://localhost:5000/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ username, password }),
credentials: 'include'
})
.then(response => response.json())
.then(data => {
alert(data.message);
if (data.message === 'Login successful') {
chrome.storage.local.set({ 'username': username, 'password': password }, function() {
loginSection.style.display = 'none';
controlSection.style.display = 'block';
});
}
})
.catch(error => {
console.error('Error during login request:', error);
alert('An error occurred while logging in');
});
});
checkMailButton.addEventListener('click', function() {
fetch('http://localhost:5000/check_mail', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
},
credentials: 'include'
})
.then(response => response.json())
.then(data => {
console.log('Check mail response:', data);
chrome.runtime.sendMessage({
type: 'phishing-detected',
emails: data
});
})
.catch(error => {
console.error('Error during check mail request:', error);
alert('An error occurred while checking mail');
});
});
logoutButton.addEventListener('click', function() {
fetch('http://localhost:5000/logout', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
credentials: 'include'
})
.then(response => response.json())
.then(data => {
alert(data.message);
if (data.message === 'Logged out') {
chrome.storage.local.remove(['username', 'password'], function() {
loginSection.style.display = 'block';
controlSection.style.display = 'none';
});
}
})
.catch(error => {
console.error('Error during logout request:', error);
alert('An error occurred while logging out');
});
});
});