119 lines
4.0 KiB
JavaScript
119 lines
4.0 KiB
JavaScript
let actionButton = document.querySelector("#actionButton");
|
|
let newPostButton = document.querySelector("#newPost");
|
|
let newSpaceButton = document.querySelector("#newSpace");
|
|
let filterSortButton = document.querySelector("#filterSort");
|
|
let circle = document.querySelector(".circleLayout");
|
|
let modal = document.querySelector("#stdModal");
|
|
|
|
let state = "hide";
|
|
|
|
actionButton.addEventListener("click", () => {
|
|
if (state == "hide") {
|
|
state = "show";
|
|
newPostButton.style.display = "flex";
|
|
newSpaceButton.style.display = "flex";
|
|
filterSortButton.style.display = "flex";
|
|
circle.style.backgroundColor = "#FFFFFF";
|
|
|
|
newPostButton.addEventListener("click", () => {
|
|
fetch("director.php", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
body: "ajaxId=newPostHTML",
|
|
})
|
|
.then((response) => {
|
|
return response.json();
|
|
})
|
|
.then((data) => {
|
|
modal.innerHTML = data["html"];
|
|
modal.style.display = "flex";
|
|
|
|
let newNavThought = document.querySelector("#newNavThought");
|
|
let newThought = document.querySelector("#newThought");
|
|
let newNavMoment = document.querySelector("#newNavMoment");
|
|
let newMoment = document.querySelector("#newMoment");
|
|
let newNavEssay = document.querySelector("#newNavEssay");
|
|
let newEssay = document.querySelector("#newEssay");
|
|
let newPostLabel = document.querySelector("#newPostLabel");
|
|
let postType = document.querySelector("#postType");
|
|
|
|
let share = document.querySelector("#share");
|
|
|
|
share.addEventListener("click", (e) => {
|
|
e.preventDefault();
|
|
switch (postType.value) {
|
|
case "Thought":
|
|
let thought = document.querySelector("#thought");
|
|
|
|
// TODO: Retrieve space dynamically.
|
|
|
|
fetch("director.php", {
|
|
method: "POST",
|
|
|
|
// TODO: Add Authorization header with JWT
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
body:
|
|
"ajaxId=newThought&space=1&thought=" +
|
|
encodeURIComponent(thought.value),
|
|
}).then((response) => {
|
|
console.log(response.json());
|
|
modal.style.display = "none";
|
|
});
|
|
break;
|
|
case "Moment":
|
|
break;
|
|
case "Essay":
|
|
break;
|
|
}
|
|
});
|
|
|
|
newNavThought.addEventListener("click", () => {
|
|
newMoment.style.display = "none";
|
|
newEssay.style.display = "none";
|
|
|
|
newThought.style.display = "flex";
|
|
newPostLabel.innerText = "New Thought";
|
|
newThought.querySelector('input[type="text"]').focus();
|
|
postType.value = "Thought";
|
|
});
|
|
|
|
newNavMoment.addEventListener("click", () => {
|
|
newThought.style.display = "none";
|
|
newEssay.style.display = "none";
|
|
|
|
newMoment.style.display = "flex";
|
|
newPostLabel.innerText = "New Moment";
|
|
newMoment.querySelector('input[type="text"]').focus();
|
|
postType.value = "Moment";
|
|
});
|
|
|
|
newNavEssay.addEventListener("click", () => {
|
|
newThought.style.display = "none";
|
|
newMoment.style.display = "none";
|
|
|
|
newEssay.style.display = "flex";
|
|
newPostLabel.innerText = "New Essay";
|
|
newEssay.querySelector('input[type="text"]').focus();
|
|
postType.value = "Essay";
|
|
});
|
|
|
|
return data;
|
|
});
|
|
});
|
|
|
|
newSpaceButton.addEventListener("click", () => { });
|
|
|
|
filterSortButton.addEventListener("click", () => { });
|
|
} else if (state == "show") {
|
|
state = "hide";
|
|
newPostButton.style.display = "none";
|
|
newSpaceButton.style.display = "none";
|
|
filterSortButton.style.display = "none";
|
|
circle.style.backgroundColor = "transparent";
|
|
}
|
|
});
|