Compare commits

..

2 Commits

Author SHA1 Message Date
Luna ed3aeffc5c Misc changes. 2021-07-24 11:27:21 -07:00
Luna 446d74daf2 Added more logout functionality. 2021-07-24 11:27:09 -07:00
4 changed files with 46 additions and 13 deletions

View File

@ -56,7 +56,7 @@ button {
} }
#loggeduser { #loggeduser {
padding-top: 1.5% padding-top: 2%
} }
#errormessage { #errormessage {

View File

@ -30,13 +30,12 @@
<div id="loggeduser"></div> <div id="loggeduser"></div>
<script src="chat.js"></script> <button type="button" id="logoutbutton" onclick="logout()">Logout</button>
<script src="logout.js"></script>
<button type="button" onclick="logout()">Logout</button>
<div id="errormessage"></div> <div id="errormessage"></div>
<script src="chat.js"></script>
<script src="logout.js"></script>
</body> </body>

12
chat.js
View File

@ -12,8 +12,16 @@ form.addEventListener("submit", async function (event) {
formMessage = formData.get('message').toString(); formMessage = formData.get('message').toString();
sendMessage() //CHECKS TO SEE IF THE PERSON IS LOGGED IN IN ORDER TO SEND A MESSAGE.
const response = await fetch(`api/token/${username}/`);
const matches = await response.json();
//YES THIS IS CONFUSING I KNOW.
if (matches.status === "ok") {
sendMessage()
} else {
document.querySelector("#errormessage").innerHTML = 'Username and token mismatch. Try logging in again.'
}
}) })
//SEND MESSAGE FETCH FUNCTION //SEND MESSAGE FETCH FUNCTION
@ -68,7 +76,7 @@ function printText(text) {
//TODO ADD CHECK TO SEE IF USERNAME AND TOKEN MATCHES //TODO ADD CHECK TO SEE IF USERNAME AND TOKEN MATCHES
function loggedIn() { function loggedIn() {
username = localStorage.getItem('username'); username = localStorage.getItem('username');
if (username === null || username === '') { if (username === null) {
document.querySelector("#loggeduser").innerHTML = 'You are not logged in' document.querySelector("#loggeduser").innerHTML = 'You are not logged in'
} else { } else {
document.querySelector("#loggeduser").innerHTML = `You are logged in as ${username}` document.querySelector("#loggeduser").innerHTML = `You are logged in as ${username}`

View File

@ -1,9 +1,9 @@
//VARIBLES //VARIBLES
myStorage = window.localStorage;
// //IF NOT LOGGED IN DON'T SHOW LOG IN BUTTON // //IF NOT LOGGED IN DON'T SHOW LOGOUT BUTTON
// if (username === '') { while (username === null) {
// document.getElementById("logoutlink").style.display = "none"; document.getElementById("logoutbutton").style.display = "none";
// } }
//LOGOUT FETCH FUNCTION //LOGOUT FETCH FUNCTION
@ -21,3 +21,29 @@ async function logout() {
username = null; username = null;
loggedIn() loggedIn()
} }
//CHECKS TO SEE IF USERNAME MATCHES TOKEN
let tokenUpdate = window.setInterval(checkToken, 1000);
async function checkToken() {
const response = await fetch(`api/token/${username}/`);
const matches = await response.json();
//YES THIS IS CONFUSING I KNOW.
if (matches.status === "fail") {
loggedOut()
}
// IF NO USERNAME BUT HAS A TOKEN THEN LOGOUT
if (matches.status === "ok" && myStorage.length === 0) {
logout()
}
}
//AND IF THEY DON'T HAVE A TOKEN CLEARS THE LOCAL STORED USERNAME
function loggedOut() {
localStorage.removeItem('username')
document.querySelector("#loggeduser").innerHTML = 'You are not logged in'
}