@@ -4,84 +4,87 @@ const wait = 6;
44let qrScanner ;
55
66function showPage ( id ) {
7- document . getElementById ( "home" ) . style . display = "none" ;
8- document . getElementById ( "success" ) . style . display = "none" ;
9- document . getElementById ( "failure" ) . style . display = "none" ;
10- document . getElementById ( "load" ) . style . display = "none" ;
7+ document . getElementById ( "home" ) . style . display = "none" ;
8+ document . getElementById ( "success" ) . style . display = "none" ;
9+ document . getElementById ( "failure" ) . style . display = "none" ;
10+ document . getElementById ( "load" ) . style . display = "none" ;
1111
12- document . getElementById ( id ) . style . display = "block" ;
12+ document . getElementById ( id ) . style . display = "block" ;
1313}
1414
1515function scannedCode ( result ) {
16- // Enter load mode...
17- qrScanner . stop ( ) ;
18- showPage ( "load" ) ;
16+ // Enter load mode...
17+ qrScanner . stop ( ) ;
18+ showPage ( "load" ) ;
1919
20- // Send to backend
21- fetch ( `/plinko/checkin?member_id=${ result . data } &run=${ event . toLowerCase ( ) } ` ) . then ( evt => {
22- // Serialize JSON
23- return evt . json ( )
24- } ) . then ( json => {
25- if ( json . success === false ) {
26- document . getElementById ( "err_msg" ) . innerText = json . msg ;
27- showPage ( "failure" ) ;
28-
29- // `wait` second timeout.
30- setTimeout ( ( ) => {
31- showPage ( "home" ) ;
32- qrScanner . start ( ) ;
33- } , wait * 1000 ) ;
34- } else {
35- let color = "gold" ;
36- let room = "ENG1-186 staff desk"
37- let team_number = Number ( json . user . team_number ) ;
38- if ( team_number >= 1 && team_number <= 8 ) {
39- color = "green" ;
40- room = "ENG1-187"
41- } else if ( team_number >= 9 && team_number <= 15 ) {
42- color = "purple" ;
43- room = "ENG1-188" ;
44- }
20+ // Send to backend
21+ fetch ( `/plinko/checkin?member_id=${ result . data } &run=${ event . toLowerCase ( ) } ` )
22+ . then ( ( evt ) => {
23+ // Serialize JSON
24+ return evt . json ( ) ;
25+ } )
26+ . then ( ( json ) => {
27+ if ( json . success === false ) {
28+ document . getElementById ( "err_msg" ) . innerText = json . msg ;
29+ showPage ( "failure" ) ;
4530
31+ // `wait` second timeout.
32+ setTimeout ( ( ) => {
33+ showPage ( "home" ) ;
34+ qrScanner . start ( ) ;
35+ } , wait * 1000 ) ;
36+ } else {
37+ let color = "gold" ;
38+ let room = "ENG1-186 staff desk" ;
39+ let team_number = Number ( json . user . team_number ) ;
40+ if ( team_number >= 1 && team_number <= 8 ) {
41+ color = "green" ;
42+ room = "ENG1-187" ;
43+ } else if ( team_number >= 9 && team_number <= 15 ) {
44+ color = "purple" ;
45+ room = "ENG1-188" ;
46+ } else if ( team_number >= 15 && team_number <= 22 ) {
47+ color = "yellow" ;
48+ room = "ENG1-260" ;
49+ }
4650
47- // Show result to user.
48- document . getElementById ( "name" ) . innerText = `Welcome, ${ json . user . first_name } !` ;
49- document . getElementById ( "flavor" ) . innerHTML = `<h2><span class="team ${ color } ">You are on Team ${ team_number } .</span><h2><br>
51+ // Show result to user.
52+ document . getElementById ( "name" ) . innerText =
53+ `Welcome, ${ json . user . first_name } !` ;
54+ document . getElementById ( "flavor" ) . innerHTML =
55+ `<h2><span class="team ${ color } ">You are on Team ${ team_number } .</span><h2><br>
5056 <h3>Please head to ${ room } by following the <em class="mini_team ${ color } ">${ color } </em> signs.</h3>
5157 <h3>Your table will have a <em>Team ${ team_number } </em> sign on it.</h3>
5258 ` ;
53- showPage ( "success" ) ;
54-
55- // `wait` second timeout.
56- setTimeout ( ( ) => {
57- showPage ( "home" ) ;
58- qrScanner . start ( ) ;
59- } , wait * 1000 ) ;
60- }
61- } ) . catch ( evt => {
62- document . getElementById ( "err_msg" ) . innerText = "Invalid QR code." ;
63- showPage ( "failure" ) ;
59+ showPage ( "success" ) ;
6460
61+ // `wait` second timeout.
6562 setTimeout ( ( ) => {
66- showPage ( "home" ) ;
67- qrScanner . start ( ) ;
63+ showPage ( "home" ) ;
64+ qrScanner . start ( ) ;
6865 } , wait * 1000 ) ;
66+ }
6967 } )
68+ . catch ( ( evt ) => {
69+ document . getElementById ( "err_msg" ) . innerText = "Invalid QR code." ;
70+ showPage ( "failure" ) ;
71+
72+ setTimeout ( ( ) => {
73+ showPage ( "home" ) ;
74+ qrScanner . start ( ) ;
75+ } , wait * 1000 ) ;
76+ } ) ;
7077}
7178
7279window . onload = ( ) => {
73- document . querySelector ( "b" ) . innerText = event ;
80+ document . querySelector ( "b" ) . innerText = event ;
7481
75- const videoElem = document . querySelector ( "video" ) ;
76- qrScanner = new QrScanner (
77- videoElem ,
78- scannedCode ,
79- {
80- maxScansPerSecond : 10 ,
81- highlightScanRegion : true ,
82- returnDetailedScanResult : true
83- } ,
84- ) ;
82+ const videoElem = document . querySelector ( "video" ) ;
83+ qrScanner = new QrScanner ( videoElem , scannedCode , {
84+ maxScansPerSecond : 10 ,
85+ highlightScanRegion : true ,
86+ returnDetailedScanResult : true ,
87+ } ) ;
8588
86- qrScanner . start ( ) ;
87- }
89+ qrScanner . start ( ) ;
90+ } ;
0 commit comments