hanze/memory

login.js in main
Repositories | Summary | Log | Files

login.js (2007B) download


 1document.getElementById('submit').addEventListener('click', () => {
 2	let username = document.getElementById('username').value;
 3	let email = document.getElementById('email').value;
 4	let password = document.getElementById('password').value;
 5	let password_again = document.getElementById('password-again').value;
 6	let do_register = document.getElementById('do-register').checked;
 7	
 8	if (!do_register) {
 9		login(username, password).then(({ code, message }) => {
10			if (code == 401) {
11				window.location.href = 'login.html?m=error-login';
12				return;
13			}
14			window.location.href = 'memory.html';
15		});
16	} else {
17		if (password != password_again) {
18			window.location.href = 'login.html?m=unequals-password';
19			return;
20		}
21		register(username, email, password).then(() => {
22			window.location.href = 'login.html?m=register-done';
23		});
24	}
25});
26
27document.getElementById('do-register').addEventListener('change', () => {
28	if (event.target.checked) {
29		document.getElementById('email').style.display = null;
30		document.getElementById('password-again').style.display = null;
31	} else {
32		document.getElementById('email').style.display = 'none';
33		document.getElementById('password-again').style.display = 'none';		
34	}
35});
36
37document.getElementById('logout').addEventListener('click', () => {
38	logout();
39	window.location.href = 'login.html?m=logout';
40});
41
42function updateMessage() {
43	let span = document.getElementById('message');
44	
45	if (!window.location.search.startsWith('?'))
46		return;
47		
48	let code = new URLSearchParams(window.location.search).get('m');
49
50	switch (code) {
51		case 'restricted':
52			span.innerText = 'Login required to access this page';
53			break;
54		case 'error-login':
55			span.innerText = 'Username or Password invalid';
56			break;
57		case 'unequals-password':
58			span.innerText = 'Password fields didn\'t match';
59			break;
60		case 'register-done':
61			span.innerText = 'Registration succeed! You can login now';
62			break;
63		case 'logout':
64			span.innerText = 'You are logged out';
65	}
66}
67
68updateMessage();