<% let latest = { "time": "2000-01-01T00:00:00.005Z", "enabled": true, "latitude": 0, "longitude": 0, "altitude": 0, "accuracy": 0, "speed": 0 }; if(pageData.length !== 0) { if(pageData[pageData.length-1].speed !== undefined) latest = pageData[pageData.length-1]; } %>

<%= new Date(latest.time).toLocaleString('en-GB', { timeZone: 'UTC' }) %>

<% let sorted = {}; pageData.forEach((item) => { let date = new Date(item.time); let month = date.getUTCMonth() + 1; let day = date.getUTCDate(); let year = date.getUTCFullYear(); newdate = day + "-" + month + "-" + year; if(item.latitude !== undefined && item.longitude !== undefined && item.speed !== undefined && item.accuracy !== undefined){ if(sorted[newdate]) { // Exists, pop it in sorted[newdate].push(item); } else sorted[newdate] = [item]; } }); %>
<% for (const [key, value] of Object.entries(sorted)) { %> <% } %>
Date Entries View
<%= key %> <%= value.length %>

Set how often you want to poll the client for an updated GPS position below
recommended intervals above 5 minutes, anything less would be of no benefit