export function visualiseComments(postId,topicContainer){
getAllComments();
let homeLink=document.querySelector("a");
homeLink.addEventListener("click", function (e){
e.preventDefault();
console.log("back to all topics")
})
let main=document.getElementsByTagName("main")[0];
main.appendChild(topicContainer);
let submitForm=document.createElement("div");
submitForm.classname="answer-comment";
submitForm.innerHTML=`<p><span>currentUser</span> comment:</p>
<div class="answer">
<form>
<textarea name="postText" id="comment" cols="30" rows="10"></textarea>
<div>
<label for="username">Username <span class="red">*</span></label>
<input type="text" name="username" id="username">
</div>
<button>Post</button>
</form>
</div>`;
main.appendChild(submitForm);
let postButton=submitForm.querySelector("button");
console.log(postButton)
let nameArea=document.getElementById("comment");
let userInput=document.getElementById("username");
postButton.addEventListener("click", function(e){
e.preventDefault();
postComment()
})
function postComment(){
let commentText=nameArea.value;
let author=userInput.value;
let newComment={commentAuthor:author, text:commentText, postId}
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify(newComment);
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("http://localhost:3030/jsonstore/collections/myboard/comments", requestOptions)
.then(response => response.json())
.then(result => getAllComments())
.catch(error => console.log('error', error));
}
function getAllComments(){
var requestOptions = {
method: 'GET',
redirect: 'follow'
};
fetch("http://localhost:3030/jsonstore/collections/myboard/comments", requestOptions)
.then(response => response.json())
.then(result => filterComments(result))
.catch(error => console.log('error', error));
}
function filterComments(data){
let arr=Object.values(data);
let filteredArr=arr.filter(a=>a.postId==postId);
main.innerHTML="";
main.appendChild(topicContainer);
filteredArr.forEach(c => {
renderComment(c)
});
main.appendChild(submitForm)
}
function renderComment(data){
let newCommentDiv=document.createElement("div");
newCommentDiv.className="comment";
newCommentDiv.innerHTML=`<header class="header">
<p><span>${data.commentAuthor}</span> posted on <time>${Date.now()}</time></p>
</header>
<div class="comment-main">
<div class="userdetails">
<img src="./static/profile.png" alt="avatar">
</div>
<div class="post-content">
<p>${data.text}</p>
</div>
</div>
<div class="footer">
<p><span>5</span> likes</p>
</div>`
nameArea.value="";
userInput.value="";
main.appendChild(newCommentDiv);
}
}