function get_field(e, el) {
    return e.form.elements[el].value
}

function edit_post(e) {
    e.preventDefault();
    let data = new URLSearchParams();
    data.append("category", get_field(e.target, "category"))
    data.append("title", get_field(e.target, "title"))
    data.append("body", get_field(e.target, "body"))
    fetch(`/api/mindflow/${get_field(e.target, "post-id")}`, {method: "PATCH", body: data})
        .catch(e => console.log(e))
        .then(() => window.location = "/mindflow/admin");
}

for (const edit_post_button of document.getElementsByName("edit-post"))
    edit_post_button.addEventListener("click", edit_post);

function delete_post(e) {
    e.preventDefault();
    fetch(`/api/mindflow/${get_field(e.target, "post-id")}`, {method:"DELETE"})
        .catch(e => console.log(e))
        .then(() => window.location = "/mindflow/admin");
}

for (const delete_post_button of document.getElementsByName("delete-post"))
    delete_post_button.addEventListener("click", delete_post);

document.getElementById("manage-categories").elements["add"].addEventListener("click", ev => {
    ev.preventDefault();
    let data = new URLSearchParams();
    data.append("name", get_field(ev.target, "name"));
    fetch(`/api/mindflow/category`, {method: "POST", body: data})
    .catch(e => console.log(e))
    .then(() => window.location = "/mindflow/admin");
});

document.getElementById("manage-categories").elements["edit"].addEventListener("click", ev => {
    ev.preventDefault();
    let data = new URLSearchParams();
    data.append("name", get_field(ev.target, "name"));
    fetch(`/api/mindflow/category/${get_field(ev.target, "category")}`, {method: "PATCH", body: data})
    .catch(e => console.log(e))
    .then(() => window.location = "/mindflow/admin");
});

document.getElementById("manage-categories").elements["delete"].addEventListener("click", ev => {
    ev.preventDefault();
    fetch(`/api/mindflow/category/${get_field(ev.target, "category")}`, {method: "DELETE"})
    .catch(e => console.log(e))
    .then(() => window.location = "/mindflow/admin");
});