website/js/viewPost.js
2022-03-08 11:23:37 +01:00

50 lines
No EOL
1.4 KiB
JavaScript

if(window.location['pathname'] == "/post.html"){
loadPost();
}
function getParameter(key) {
// Address of the current window
let address = window.location.search
// Returns a URLSearchParams object instance
let parameterList = new URLSearchParams(address)
// Returning the respected value associated
// with the provided key
return parameterList.get(key)
}
async function loadPost() {
let id = getParameter("id");
let header = document.createElement("jl-header");
let footer = document.createElement("jl-footer");
let content = document.createElement("div");
if(id == null) {
content.innerHTML = "<h1>404 - Post not found</h1>";
} else {
var graphql = JSON.stringify({
query: 'query($postID: String!) {blogPost(id: $postID) {content title}}',
variables: {
"postID": id
}
})
var requestOptions = {
method: 'POST',
body: graphql,
};
let post = (await (await fetch("http://localhost:1234/API/graphql.php", requestOptions)).json()).data.blogPost;
content.innerHTML = post["content"];
document.title = post["title"] + " - Jonas Leder";
header.setAttribute("data-title", post["title"]);
}
content.id = "content";
document.body.appendChild(header);
document.body.appendChild(content);
document.body.appendChild(footer);
}