Repository navigation
Expand file tree
/
Copy pathscript.js
More file actions
87 lines (75 loc) · 2.41 KB
/
Copy pathscript.js
File metadata and controls
87 lines (75 loc) · 2.41 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
// Toggle Sidebar Menu (for mobile)
const menuToggle = document.querySelector('#menu-toggle');
const sidebar = document.querySelector('.sidebar');
menuToggle.onclick = () => {
sidebar.classList.toggle('active');
};
// Highlight active nav item
const navLinks = document.querySelectorAll('.sidebar a');
navLinks.forEach(link => {
link.addEventListener('click', () => {
navLinks.forEach(l => l.classList.remove('active'));
link.classList.add('active');
});
});
// Task Board: Add New Task
const addTaskBtn = document.querySelector('#add-task-btn');
const taskInput = document.querySelector('#task-input');
const taskList = document.querySelector('.task-list');
addTaskBtn.onclick = () => {
const taskText = taskInput.value.trim();
if (taskText !== '') {
const li = document.createElement('li');
li.innerHTML = `
<span>${taskText}</span>
<button class="delete-task">×</button>
`;
taskList.appendChild(li);
taskInput.value = '';
// Delete functionality
li.querySelector('.delete-task').onclick = () => {
li.remove();
};
}
};
// Timer
let timerDisplay = document.querySelector('.timer-display');
let startBtn = document.querySelector('#start-timer');
let stopBtn = document.querySelector('#stop-timer');
let resetBtn = document.querySelector('#reset-timer');
let timer = null;
let seconds = 0;
function updateTimer() {
let min = Math.floor(seconds / 60);
let sec = seconds % 60;
timerDisplay.textContent = `${String(min).padStart(2, '0')}:${String(sec).padStart(2, '0')}`;
}
startBtn.onclick = () => {
if (!timer) {
timer = setInterval(() => {
seconds++;
updateTimer();
}, 1000);
}
};
stopBtn.onclick = () => {
clearInterval(timer);
timer = null;
};
resetBtn.onclick = () => {
clearInterval(timer);
timer = null;
seconds = 0;
updateTimer();
};
// Modal for Chat (Optional Future Feature)
const chatBtn = document.querySelector('#open-chat');
const chatModal = document.querySelector('.chat-modal');
const chatClose = document.querySelector('#close-chat');
if (chatBtn && chatModal && chatClose) {
chatBtn.onclick = () => chatModal.classList.add('open');
chatClose.onclick = () => chatModal.classList.remove('open');
window.onclick = (e) => {
if (e.target == chatModal) chatModal.classList.remove('open');
};
}