-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
110 lines (94 loc) · 3.85 KB
/
script.js
File metadata and controls
110 lines (94 loc) · 3.85 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
document.addEventListener("DOMContentLoaded", function () {
const prevMonthButton = document.getElementById("prev-month");
const nextMonthButton = document.getElementById("next-month");
const currentMonthYear = document.getElementById("current-month-year");
const calendarBody = document.getElementById("calendar-body");
const currentDate = new Date();
let currentMonth = currentDate.getMonth();
let currentYear = currentDate.getFullYear();
function updateCalendar() {
const daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate();
const firstDayOfMonth = new Date(currentYear, currentMonth, 1).getDay();
currentMonthYear.textContent = new Date(currentYear, currentMonth).toLocaleDateString("en-US", {
month: "long",
year: "numeric",
});
let calendarHTML = "";
let day = 1;
for (let i = 0; i < 6; i++) {
let row = "<tr>";
for (let j = 0; j < 7; j++) {
if (i === 0 && j < firstDayOfMonth) {
row += "<td></td>";
} else if (day <= daysInMonth) {
row += `<td>${day}</td>`;
day++;
}
}
row += "</tr>";
calendarHTML += row;
}
calendarBody.innerHTML = calendarHTML;
}
updateCalendar();
prevMonthButton.addEventListener("click", function () {
if (currentMonth === 0) {
currentMonth = 11;
currentYear--;
} else {
currentMonth--;
}
updateCalendar();
});
nextMonthButton.addEventListener("click", function () {
if (currentMonth === 11) {
currentMonth = 0;
currentYear++;
} else {
currentMonth++;
}
updateCalendar();
});
function updateClock() {
const pakistanTime = new Date().toLocaleTimeString("en-US", {
timeZone: "Asia/Karachi",
hour12: true,
hour: "numeric",
minute: "2-digit",
second: "2-digit",
});
const clockElement = document.getElementById("clock");
clockElement.textContent = `Pakistan Time: ${pakistanTime}`;
}
updateClock(); // Call it initially to set the time
setInterval(updateClock, 1000); // Update every second
calendarBody.addEventListener("click", function (e) {
const target = e.target;
if (target.tagName === "TD" && target.textContent.trim() !== "") {
document.getElementById("event-title").value = "";
document.getElementById("event-date").value = "";
document.getElementById("event-modal").style.display = "block";
}
});
// Close the event modal
document.querySelector(".close").addEventListener("click", function () {
document.getElementById("event-modal").style.display = "none";
});
// Add an event to the calendar
document.getElementById("add-event-btn").addEventListener("click", function () {
const eventTitle = document.getElementById("event-title").value;
const eventDate = document.getElementById("event-date").value;
if (eventTitle && eventDate) {
const hoveredCell = document.querySelector(".calendar-table td:hover");
if (hoveredCell) {
const eventDiv = document.createElement("div");
eventDiv.textContent = eventTitle;
eventDiv.className = "event fade-in";
hoveredCell.appendChild(eventDiv);
document.getElementById("event-modal").style.display = "none";
} else {
alert("Please select a day on the calendar to add an event.");
}
}
});
});