modal.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. let modal = {
  2. feedback: function(){
  3. let form = document.getElementById("modalFeedback");
  4. form.style.display = "flex";
  5. form.onsubmit = ()=>{this.submitFeedback()};
  6. },
  7. submitFeedback: function(){
  8. event.preventDefault();
  9. let data = {
  10. title: document.getElementById("feedbackTitle").value,
  11. content: document.getElementById("feedbackContent").value,
  12. date: new Date()
  13. }
  14. let loader = document.getElementById("loaderContainer");
  15. loader.style.display = "flex";
  16. fetch("/feedback", {
  17. method: "post",
  18. headers: {
  19. "Content-Type": "application/json;charset=utf-8"
  20. },
  21. body: JSON.stringify(data)
  22. })
  23. .then(response => response.json())
  24. .then((response)=>{
  25. if(typeof(response) === "string"){
  26. controller.createBanner(response, "error");
  27. }
  28. controller.createBanner("THANK YOU FOR YOUR INPUT", "success");
  29. controller.closeModal();
  30. })
  31. .catch((err)=>{
  32. controller.createBanner("SOMETHING WENT WRONG. PLEASE REFRESH THE PAGE", "error")
  33. })
  34. .finally(()=>{
  35. loader.style.display = "none";
  36. });
  37. }
  38. };
  39. module.exports = modal;