// Utility functions function formatBytes(bytes, decimals = 2) { if (bytes === 0) return '0 Bytes'; const k = 1024; const dm = decimals < 0 ? 0 : decimals; const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; } document.addEventListener('DOMContentLoaded', function() { // DOM Elements const addTaskBtn = document.getElementById('addTaskBtn'); const taskModal = document.getElementById('taskModal'); const closeModalBtn = document.getElementById('closeModalBtn'); const taskForm = document.getElementById('taskForm'); const tasksContainer = document.querySelector('.grid'); // Sample tasks data let tasks = [ { id: 1, name: 'Configure Modem Settings', description: 'Update the modem firmware and configure security settings', priority: 'high', completed: false, date: new Date() }, { id: 2, name: 'Check Network Speed', description: 'Run speed tests at different times of day', priority: 'medium', completed: false, date: new Date() }, { id: 3, name: 'Document Configuration', description: 'Create documentation for current modem setup', priority: 'low', completed: true, date: new Date() } ]; // Event Listeners addTaskBtn.addEventListener('click', openModal); closeModalBtn.addEventListener('click', closeModal); taskForm.addEventListener('submit', handleTaskSubmit); // Render initial tasks renderTasks(); // Functions function openModal() { taskModal.classList.remove('hidden'); } function closeModal() { taskModal.classList.add('hidden'); } function handleTaskSubmit(e) { e.preventDefault(); const taskName = document.getElementById('taskName').value; const taskDescription = document.getElementById('taskDescription').value; const taskPriority = document.getElementById('taskPriority').value; const newTask = { id: Date.now(), name: taskName, description: taskDescription, priority: taskPriority, completed: false, date: new Date() }; tasks.unshift(newTask); renderTasks(); closeModal(); taskForm.reset(); } function renderTasks() { tasksContainer.innerHTML = ''; tasks.forEach(task => { const taskCard = document.createElement('div'); taskCard.className = `task-card bg-white dark:bg-gray-800 rounded-lg shadow-md p-6 ${task.priority}-priority ${task.completed ? 'completed' : ''}`; taskCard.innerHTML = `
${task.description}