🛡️
VAKTIN
—
🤝
Látum vita af okkur.
Hæ vinur. Skráðu þig inn svo við vitum að þú sért hress. Ef þú gleymir þér, látum við ástvini vita.
Skráning
Um þig
Tímastillingar
Hversu oft?
5 mínútur
Korter
Klukkustund
3 tímar
6 tímar
12 tímar
Dagur (24 klst)
2 dagar
Vika
2 vikur
4 vikur
Leyfð seinkun
10 mínútur
Klukkustund
3 tímar
6 tímar
Dagur
Neyðartengiliður
👤
Hæ, Vinur!
📍 Óvitað
Næst: 3 klst
⏰ Næstu 10 vinir
⚠️ Vinir sem vantar
Sérherbergi
Fylgstu með fjölskyldunni eða hópnum þínum í lokuðu rými.
Öryggissaga
👥 Fjölskyldan
| Nafn | Staða |
|---|---|
| Mamma77 | OK |
| Pabbi88 | Vantar |
📡
Staðsetning
Við reynum að finna þig sjálfkrafa.
Smelltu á „Leita“ og samþykktu í vafranum.
💚
Takk vinur!
Vaktin hefur verið endurnýjuð.
Smelltu á „Leita“ og samþykktu í vafranum.‘; } function useManualLocation() { closeModal(‘gps-modal’); document.getElementById(‘reg-loc’).focus(); } function executeGpsLogic() { const btn = document.getElementById(‘gps-action-btn’); const status = document.getElementById(‘gps-status-text’); const input = document.getElementById(‘reg-loc’); btn.textContent = „Leita…“; btn.disabled = true; status.innerHTML = „Bíð eftir svari frá vafra…
Ef ekkert gerist, smelltu á ‘Slá inn handvirkt’.„; // 1. Check basic support if (!navigator.geolocation) { simulateLocationResult(„Vafri styður ekki GPS“, input); return; } // 2. Attempt Geolocation navigator.geolocation.getCurrentPosition( async (pos) => { // Success! try { const res = await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${pos.coords.latitude}&lon=${pos.coords.longitude}`); const data = await res.json(); const parts = data.display_name.split(‘,’); input.value = parts[0] + „, “ + (parts[1] || „“); } catch(e) { input.value = `${pos.coords.latitude.toFixed(4)}, ${pos.coords.longitude.toFixed(4)}`; } finalizeGps(input); }, (err) => { // Error/Denial -> FALLBACK SIMULATION for Demo purposes so user isn’t stuck console.warn(„GPS Access Denied or Failed. Using fallback.“); simulateLocationResult(„Tenging mistókst (Demo)“, input); }, { timeout: 6000 } ); } function simulateLocationResult(reason, input) { // This ensures the demo works even if the preview environment blocks GPS setTimeout(() => { input.value = „Reykjavík (Áætlað)“; // Fallback value finalizeGps(input); alert(„Gat ekki náð nákvæmu sambandi (líklega öryggisstillingar). Nota áætlaða staðsetningu.“); }, 1500); } function finalizeGps(input) { closeModal(‘gps-modal’); const btn = document.getElementById(‘gps-action-btn’); btn.disabled = false; // Visual feedback on the main input button const mainBtn = document.querySelector(‘button[onclick=“openGpsModal()“]’); mainBtn.textContent = „✅“; } // — REGISTRATION — function finishRegistration(e) { e.preventDefault(); const name = document.getElementById(‘reg-name’).value; const nick = name.substring(0, 5).replace(/\s/g, “).padEnd(4, ‘x’).substring(0, 5) + Math.floor(1000 + Math.random() * 9000); const loc = document.getElementById(‘reg-loc’).value; document.getElementById(‘display-nick’).textContent = nick; document.getElementById(‘dash-nick’).textContent = nick; document.getElementById(‘dash-loc’).textContent = loc; document.getElementById(‘user-pill’).classList.remove(‘hidden’); renderLists(); initChart(); showSection(‘dashboard’); } // — LISTS & CHART — function confirmOk() { document.getElementById(‘ok-modal’).classList.remove(‘hidden’); } function renderLists() { document.getElementById(‘next-10-list’).innerHTML = next10.map(i => `
${i.n}
${i.t}
`).join(“);
document.getElementById(‘overdue-list’).innerHTML = overdue.map(i => `
${i.n}
SEINKUN: ${i.l}
Stað: ${i.loc}
Færðu inn athugasemd