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();