Files
ssnj/scripts/vnos.js

82 lines
2.9 KiB
JavaScript

const kljuc = new URLSearchParams(window.location.search).get("kljuc");
function getKey() {
const url = `http://localhost:3000/vnos`;
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
pk: kljuc
})
})
.then(response => response.json())
.then(data => {
if (!data.success) {
console.error('API Error:', data.message);
return;
}
let build = `
<h3 class="entry-title">${data.data.kljuc}</h3>
<p class="entry-definition">${data.data.tip}</p>
${data.data.vsebina}
<p class="entry-example">${data.data.primer}</p>
<p class="entry-example">Vnos dodal: ${data.data.avtor}</p>
`;
// Preveri lastinino
let addIf = ``;
if (data.data.avtor === document.cookie.split(";").find(cookie => cookie.trim().startsWith("username="))?.split("=")[1]) {
addIf = `<br><button id="delete-entry-button" class="page-btn nav-btn-danger">Izbriši vnos</button>`;
}
build += addIf;
document.getElementById("page-title").innerText = `Vnos '${data.data.kljuc}'`;
document.getElementById("entry-container-single").innerHTML += build;
document.getElementById("delete-entry-button")?.addEventListener("click", () => {
document.getElementById("delete-entry-modal").style.visibility = "visible";
});
document.getElementById("cancel-delete")?.addEventListener("click", () => {
document.getElementById("delete-entry-modal").style.visibility = "hidden";
});
document.getElementById("confirm-delete")?.addEventListener("click", () => {
fetch("http://localhost:3000/izbrisi-vnos", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ "token": document.cookie.split(";").find(cookie => cookie.trim().startsWith("token=")).split("=")[1], "pk": kljuc })
})
.then(response => {
if (!response.ok) {
throw new Error("Network response was not ok");
}
return response.json();
})
.then(data => {
console.log("Success:", data);
window.location.href = "/";
})
.catch((error) => {
console.error("Error:", error);
document.getElementById("delete-entry-modal").style.visibility = "hidden";
});
});
document.getElementById("close-modal")?.addEventListener("click", () => {
document.getElementById("delete-entry-modal").style.visibility = "hidden";
});
})
.catch((error) => {
console.error('Error:', error);
});
}
getKey();