-
Notifications
You must be signed in to change notification settings - Fork 128
/
Copy pathscript.js
57 lines (47 loc) · 2.12 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('capsuleForm');
const messageInput = document.getElementById('message');
const timerInput = document.getElementById('timer');
const capsuleReveal = document.getElementById('capsuleReveal');
const messageReveal = document.getElementById('messageReveal');
const revealTime = document.getElementById('revealTime');
const revealedMessage = document.getElementById('revealedMessage');
function checkCapsules() {
const savedCapsules = JSON.parse(localStorage.getItem('capsules')) || [];
const now = new Date().getTime();
let updatedCapsules = [];
let revealedCapsule = null;
for (let capsule of savedCapsules) {
if (now >= capsule.revealAt) {
revealedCapsule = capsule;
break; // Reveal only the first due capsule
} else {
updatedCapsules.push(capsule);
}
}
if (revealedCapsule) {
revealedMessage.textContent = revealedCapsule.message;
messageReveal.classList.remove('hidden');
capsuleReveal.classList.add('hidden');
localStorage.setItem('capsules', JSON.stringify(updatedCapsules));
}
}
// Run checkCapsules every second
setInterval(checkCapsules, 1000);
form.addEventListener('submit', (e) => {
e.preventDefault();
const message = messageInput.value;
const timer = parseInt(timerInput.value) * 1000;
const revealAt = new Date().getTime() + timer;
const newCapsule = { message, revealAt };
const savedCapsules = JSON.parse(localStorage.getItem('capsules')) || [];
savedCapsules.push(newCapsule);
localStorage.setItem('capsules', JSON.stringify(savedCapsules));
// Show feedback
capsuleReveal.classList.remove('hidden');
revealTime.textContent = `Your message will be revealed at: ${new Date(revealAt).toLocaleTimeString()}`;
// Clear input fields
messageInput.value = '';
timerInput.value = '';
});
});