Projekt_z_Paradygmatow/app.js

84 lines
2.6 KiB
JavaScript

// Funkcja do dodawania nowego zadania
async function addTask() {
const taskDescription = document.getElementById('new-task').value;
if (!taskDescription) {
alert('Opis zadania nie może być pusty!');
return;
}
try {
const response = await fetch('http://localhost:8000/add_task', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ task_description: taskDescription })
});
if (!response.ok) {
throw new Error('Odpowiedź sieci nie była OK');
}
const result = await response.json();
console.log('Zadanie dodane:', result);
document.getElementById('new-task').value = '';
loadTasks(); // Ponowne załadowanie zadań po dodaniu nowego
} catch (error) {
console.error('Błąd podczas dodawania zadania:', error);
}
}
// Funkcja do ładowania zadań
async function loadTasks() {
try {
const response = await fetch('http://localhost:8000/get_tasks');
if (!response.ok) {
throw new Error('Odpowiedź sieci nie była OK');
}
const tasks = await response.json();
const taskList = document.getElementById('task-list');
taskList.innerHTML = '';
tasks.forEach(task => {
const listItem = document.createElement('li');
listItem.textContent = task.task_description;
// Przycisk do usuwania zadania
const deleteButton = document.createElement('button');
deleteButton.textContent = 'Usuń';
deleteButton.onclick = () => deleteTask(task.id);
listItem.appendChild(deleteButton);
taskList.appendChild(listItem);
});
} catch (error) {
console.error('Błąd podczas ładowania zadań:', error);
}
}
// Funkcja do usuwania zadania
async function deleteTask(taskId) {
try {
const response = await fetch(`http://localhost:8000/delete_task/${taskId}`, {
method: 'DELETE'
});
if (!response.ok) {
throw new Error('Odpowiedź sieci nie była OK');
}
const result = await response.json();
console.log('Zadanie usunięte:', result);
loadTasks(); // Ponowne załadowanie zadań po usunięciu
} catch (error) {
console.error('Błąd podczas usuwania zadania:', error);
}
}
// Nasłuchiwanie na załadowanie DOM
document.addEventListener('DOMContentLoaded', () => {
loadTasks();
});