-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreminders.js
More file actions
59 lines (49 loc) · 1.83 KB
/
reminders.js
File metadata and controls
59 lines (49 loc) · 1.83 KB
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
58
59
document.addEventListener("DOMContentLoaded", function () {
const form = document.getElementById("reminderForm");
const reminderList = document.getElementById("reminderList");
loadReminders();
form.addEventListener("submit", function (e) {
e.preventDefault();
const plantName = document.getElementById("plantName").value;
const frequency = parseInt(document.getElementById("frequency").value);
const lastWatered = document.getElementById("lastWatered").value;
const reminder = {
plantName,
frequency,
lastWatered,
nextWater: calculateNextDate(lastWatered, frequency)
};
saveReminder(reminder);
form.reset();
loadReminders();
});
function calculateNextDate(dateStr, freq) {
const date = new Date(dateStr);
date.setDate(date.getDate() + freq);
return date.toISOString().split("T")[0];
}
function saveReminder(reminder) {
let reminders = JSON.parse(localStorage.getItem("plantReminders")) || [];
reminders.push(reminder);
localStorage.setItem("plantReminders", JSON.stringify(reminders));
}
function loadReminders() {
reminderList.innerHTML = "";
const reminders = JSON.parse(localStorage.getItem("plantReminders")) || [];
if (reminders.length === 0) {
reminderList.innerHTML = "<p>No reminders set yet.</p>";
return;
}
reminders.forEach(reminder => {
const div = document.createElement("div");
div.innerHTML = `
<strong>${reminder.plantName}</strong><br>
Next watering: <em>${reminder.nextWater}</em><br>
Frequency: every ${reminder.frequency} day(s)<br>
Last watered: ${reminder.lastWatered}
<hr>
`;
reminderList.appendChild(div);
});
}
});