Compare commits

...

2 Commits

3 changed files with 25 additions and 9 deletions

View File

@ -36,12 +36,10 @@
document.write(qp.action ? (qp.action + "<br>Room " + qp.room) : 'FTracker<br>V1.1') document.write(qp.action ? (qp.action + "<br>Room " + qp.room) : 'FTracker<br>V1.1')
</script></h1> </script></h1>
<div id="startpage"> <div id="startpage">
This is a web app to track which people This is a web app to track which people were in the same rooms at
were in the same rooms at which times in order to backtrace which times in order to backtrace potential viral infections.<br><br>
potential viral infections.<br><br> If you've reached this page that either means your're testing
If you've reached this page that either means your're things or something has gone quite wrong with the URL.<br>
testing things or something has gone quite wrong with the\
URL.<br>
In the former case: Yay it works! In the latter you should In the former case: Yay it works! In the latter you should
probably contact an admin or a dev nearby :(<br><br> probably contact an admin or a dev nearby :(<br><br>
Here are a few links for testing:<br> Here are a few links for testing:<br>

View File

@ -6,10 +6,17 @@ if (qp.action) {
mform.style.display = 'block' mform.style.display = 'block'
} }
// Prefill the name field if it was successfully entered before // Get the name field if it was successfully entered before
var savedName = localStorage.getItem('name') var savedName = localStorage.getItem('name')
if (savedName && qp) if (qp && qp.name) {
// Forced Admin checkout - prefill qp name and auto-agree
document.getElementById('name').value = qp.name.replace(/-/g, ' ').toUpperCase();
document.getElementById('agree').checked = true
document.getElementById('agree').parentElement.style.display = 'none'
} else if (savedName && qp) {
// Prefill the client's locally saved name
document.getElementById('name').value = savedName document.getElementById('name').value = savedName
}
// 2nd script, server API communication // 2nd script, server API communication
var name, datetime, agreed, tested var name, datetime, agreed, tested

View File

@ -88,6 +88,14 @@ function exportCSV() {
} }
function offerUserCheckout(event) {
var name = event.target.getAttribute('data-name')
var room = event.target.textContent
window.open(`/?departure=${room}&edittime=1&name=${name}`, '_blank').focus();
}
function renderData() { function renderData() {
if (data == null) { if (data == null) {
@ -165,8 +173,11 @@ function renderData() {
if (entry.tested) if (entry.tested)
block.classList.add('tested') // = 3G block.classList.add('tested') // = 3G
if (dur > 60 * 24) if (dur > 60 * 24) {
block.classList.add('implausible') block.classList.add('implausible')
block.setAttribute('data-name', name)
block.addEventListener('click', offerUserCheckout);
}
row.appendChild(block) row.appendChild(block)