You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.4 KiB

const socket = io.connect('/');
const button = document.querySelector('button');
let username;
while(!username){
username = prompt("Enter your full name for this session");
socket.emit('user joined', username);
}
document.querySelector('h1').innerHTML = "Welcome, "+username;
socket.on('prompt sent', function (prompt) {
if(prompt !== document.querySelector('dd').innerHTML){
if(prompt !== "Nothing Yet"){
button.removeAttribute("disabled");
button.classList.remove("invisible");
}
document.querySelector('dd').innerHTML = prompt;
}
});
socket.on('disconnect students', function (prompt) {
document.querySelector('h1').innerHTML = "Thanks for attending this class!"
document.querySelector('main').innerHTML = "";
window.close();
});
socket.on('get usernames', function (){
socket.emit('user joined', username);
});
socket.on('get completeds', function (){
if(button.getAttribute("disabled")){
socket.emit('prompt completed', username);
}
});
button.addEventListener('click', (event)=>{
button.setAttribute("disabled",true);
button.classList.add("invisible");
socket.emit('prompt completed', username);
});
window.addEventListener("beforeunload", (e)=>{
socket.emit('user dropped', username);
if(button.getAttribute("disabled")){
socket.emit('remove completed', username);
}
});