fix time and ignore duplciate scans in score keeping
Build Images and Deploy / Update-PROD-Stack (push) Successful in 28s
Build Images and Deploy / Update-PROD-Stack (push) Successful in 28s
This commit is contained in:
@@ -18,7 +18,13 @@
|
|||||||
|
|
||||||
function updateTimes() {
|
function updateTimes() {
|
||||||
document.querySelectorAll('time[datetime]').forEach(function (el) {
|
document.querySelectorAll('time[datetime]').forEach(function (el) {
|
||||||
var d = new Date(el.getAttribute('datetime'));
|
var raw = el.getAttribute('datetime');
|
||||||
|
// SQLite stores UTC dates without a 'Z' suffix — add it so the browser
|
||||||
|
// parses them as UTC instead of local time
|
||||||
|
if (raw && !/[Z+\-]\d{0,4}$/i.test(raw)) {
|
||||||
|
raw = raw.replace(' ', 'T') + 'Z';
|
||||||
|
}
|
||||||
|
var d = new Date(raw);
|
||||||
if (!isNaN(d)) {
|
if (!isNaN(d)) {
|
||||||
el.textContent = timeAgo(d);
|
el.textContent = timeAgo(d);
|
||||||
el.title = d.toLocaleString();
|
el.title = d.toLocaleString();
|
||||||
|
|||||||
+1
-3
@@ -352,10 +352,8 @@ const Scans = {
|
|||||||
const alreadyScanned = this.hasUserScanned(packageId, userId);
|
const alreadyScanned = this.hasUserScanned(packageId, userId);
|
||||||
|
|
||||||
if (alreadyScanned) {
|
if (alreadyScanned) {
|
||||||
// No points, but update last_scanned_by so they can edit the hint
|
// No points — don't store 0-point scans, just update last_scanned_by
|
||||||
db.prepare('UPDATE packages SET last_scanned_by = ? WHERE id = ?').run(userId, packageId);
|
db.prepare('UPDATE packages SET last_scanned_by = ? WHERE id = ?').run(userId, packageId);
|
||||||
// Record the scan with 0 points
|
|
||||||
db.prepare('INSERT INTO scans (package_id, user_id, points_awarded) VALUES (?, ?, 0)').run(packageId, userId);
|
|
||||||
return { points: 0, alreadyScanned: true, isFirst: false };
|
return { points: 0, alreadyScanned: true, isFirst: false };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user