class commentsDisplay extends HTMLElement {
    constructor() {
        super();
        let path = window.location.pathname;
        let pageName = path.split("/").pop();

        let xhr = new XMLHttpRequest();
        xhr.onreadystatechange = () => {
            if (xhr.readyState === 4) {
                if (xhr.status === 200) {
                    let comments = JSON.parse(xhr.responseText);
                    comments.forEach((element) => {
                        const h3 = document.createElement("h3");
                        h3.classList.add("commentTitle");
                        h3.innerText = element["name"];
                        this.appendChild(h3);

                        const commentDiv = document.createElement("div");
                        commentDiv.classList.add("comment");
                        this.appendChild(commentDiv);

                        const image = document.createElement("img");
                        image.src = element["gravatarURL"];
                        commentDiv.appendChild(image);

                        const article = document.createElement("article");
                        article.classList.add("commentArticle");
                        commentDiv.appendChild(article);

                        const commentText = document.createElement("p");
                        commentText.classList.add("commentText");
                        commentText.innerText = element["comment"];
                        article.appendChild(commentText);

                    });
                } else {
                    let p = document.createElement("p");
                    p.innerText = "Leider konnte dieser Inhalt nicht geladen werden, bitte versuche die Seite neu zu laden oder komme später wieder zurück.";
                    this.appendChild(p);

                }
            }
        }
        xhr.open("GET", "/API/projectComments.php?article=" + pageName);
        xhr.send();
    }
}

customElements.define("jl-comments_display", commentsDisplay);
