function loadConversations(status) { // copied and edited based on status.js let spinner = document.querySelector("#spinner"); let container = document.querySelector("#entries_container"); container.classList.add("align-items-center"); container.innerHTML = spinner.innerHTML; // copied status.js not working here // if(!fetched){ // if(event){ // let allButtons = document.querySelectorAll('.nav-link'); // allButtons.forEach(button => { // button.classList.remove('active'); // }); // event.target.classList.add('active'); // } fetch("/backend/conversations/status/" + status) .then(response => response.text()) // Textinhalt der HTML-Datei erhalten .then(htmlContent => { container.classList.remove("align-items-center"); container.innerHTML = htmlContent; // loadModal(); // fetched = false; }); } //} function openConversation(id, mail) { let message = document.getElementById("topicinput").value; fetch("/backend/conversations", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id: id, message: message }) }) .then(response => response.json()) .then(data => { if (data === true) { updateConvModal(id); // Prepare message let subject = 'Segelparade - Bild ' + id + ' Nachfrage ' + message; let body = document.getElementById("messageinput").value; let mailtoLink = 'mailto:' + mail + '?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body); // Open Mail client and clear inputs window.location.href = mailtoLink; document.getElementById("messageinput").value = ""; document.getElementById("topicinput").value = ""; } else { alert("Fehler beim Anlegen der Rückfrage"); } }) .catch(error => { alert('Fehler ' + error); }); } function deleteConversation(id) { let spinner = document.querySelector("#spinner"); let container = document.querySelector("#entries_container"); container.classList.add("align-items-center"); container.innerHTML = spinner.innerHTML; fetch("/backend/conversations/" + id , { method: "PATCH" }) .then(response => response.json()) .then(data => { if (data === true) { loadConversations("open"); // if accessed from overview of all conversations (Rückfragen in menu) update that view if (backend.status == "open") { loadConversations("new"); } } else { alert("Fehler beim Löschen der Rückfrage"); } }) .catch(error => { alert('Fehler ' + error); }); } function updateConvModal(id) { let convContainer = document.getElementById("convContainer"); fetch("/backend/conversations/image/" + id) .then(response => response.json()) .then(conversations => { if (conversations !== false) { // Clear convContainer convContainer.innerHTML = ""; // Insert conversations in convContainer conversations.forEach(conversation => { if (conversation.type == "open") { convContainer.innerHTML += "