if (window.location.pathname == '/') { document.addEventListener('DOMContentLoaded', async function() { let response = await fetch('/api/news'); let news = await response.json(); news.forEach(element => { let newsItem = `
${element.title}

Geplaatst op ${element.date}

${ element.content.length > 200 ? element.content.substring(0, 100) + `...` : element.content }
${element.title}close

Geplaatst op ${element.date}

${element.content}
${element.links[0].title} ${element.links.length > 1 ? `${element.links[1].title}` : ''}
`; document.getElementById('news').innerHTML += newsItem; }); // disable loader document.getElementById('preloader').classList.add('hide'); AOS.init(); }); } else if (window.location.pathname == '/login') { // if token is set redirect to dashboard if (sessionStorage.getItem('token') != null) { window.location.href = '/dashboard'; } document.getElementById('loginForm').addEventListener('submit', async function(e) { e.preventDefault(); // turn on loader and hide form document.getElementById('preloader').classList.remove('hide'); document.getElementById('loginForm').classList.add('hide'); document.getElementById('error').classList.add('hide'); // get values let username = document.getElementById('username').value; let password = document.getElementById('password').value; // create object let user = { username: username, password: password } // send to server let response = await fetch('/api/user/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(user) }); // check for status code let status = response.status; if (status != 200) { // show error document.getElementById('errorText').innerHTML = 'Er is iets fout gegaan, probeer het opnieuw. Controleer of je de juiste gegevens hebt ingevuld.'; // turn off loader and show form document.getElementById('preloader').classList.add('hide'); document.getElementById('error').classList.remove('hide'); document.getElementById('loginForm').classList.remove('hide'); } else { // set token let result = await response.json(); sessionStorage.setItem('token', result.token); // redirect to dashboard window.location.href = '/dashboard'; } }); } else if (window.location.pathname == '/inschrijven') { // add event listener to #inschrijvenform document.getElementById('inschrijvenForm').addEventListener('submit', async function(e) { // e.preventDefault(); // turn on loader and hide form document.getElementById('preloader').classList.remove('hide'); document.getElementById('inschrijvenForm').classList.add('hide'); document.getElementById('error').classList.add('hide'); // get values let username = document.getElementById('name').value; let password = document.getElementById('password').value; let passwordRepeat = document.getElementById('password2').value; // check if passwords are the same if (password != passwordRepeat) { // show error document.getElementById('errorText').innerHTML = 'De wachtwoorden komen niet overeen.'; // turn off loader and show form document.getElementById('preloader').classList.add('hide'); document.getElementById('error').classList.remove('hide'); document.getElementById('inschrijvenForm').classList.remove('hide'); return; } // create object let user = { username: username, password: password } // send to server let response = await fetch('/api/user/register', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(user) }); // check for status code let status = response.status; if (status != 201) { // show error document.getElementById('errorText').innerHTML = 'Er is iets fout gegaan, probeer het opnieuw. Controleer of je de juiste gegevens hebt ingevuld.'; // turn off loader and show form document.getElementById('preloader').classList.add('hide'); document.getElementById('error').classList.remove('hide'); document.getElementById('inschrijvenForm').classList.remove('hide'); } else { // set token let result = await response.json(); sessionStorage.setItem('token', result.token); // remove preloader document.getElementById('preloader').classList.add('hide'); // show success message document.getElementById('success').classList.remove('hide'); document.getElementById('successText').innerHTML = 'Succesvol ingeschreven!
Dit spel ben je een '+ result.role +'.
Veel plezier!'; } }); }