My SMM panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 line
2.8 KiB

  1. let toggle = document.querySelector(".nav-toggle")
  2. let heroText = document.querySelectorAll(".landing-hero h2,.landing-hero p")
  3. let registerToggles = document.querySelectorAll(".register-btn, .register-area\
  4. .cancel-button, .services-cards button")
  5. const passInput = document.getElementById("password")
  6. const passInput2 = document.getElementById("confirm_password")
  7. let token = getCookie('XSRF-TOKEN')
  8. function register(event) {
  9. fetch("/sanctum/csrf-cookie", {
  10. method: 'GET'
  11. }).then( function(response) {
  12. token = getCookie('XSRF-TOKEN')
  13. fetch("/register", {
  14. method: 'POST',
  15. headers: {'Content-Type': 'application/json',
  16. 'X-XSRF-TOKEN': token},
  17. body: JSON.stringify({"name": document.getElementById("register-name").value,
  18. "email": document.getElementById("register-email").value,
  19. "password": document.getElementById("register-password").value}),
  20. "password_confirmation": document.getElementById("confirm-password").value})
  21. }).then(response => {
  22. console.log('sent registration');
  23. console.log(response.json())
  24. });
  25. event.preventDefault();
  26. }
  27. function getCookie(name) {
  28. var re = new RegExp(name + "=([^;]+)");
  29. var value = re.exec(document.cookie);
  30. return (value != null) ? unescape(value[1]) : null;
  31. }
  32. function checkPasswords() {
  33. if (passInput.value != passInput2.value) {
  34. passInput2.setCustomValidity('Passwords must be matching')
  35. } else {
  36. passInput2.setCustomValidity('');
  37. }
  38. }
  39. function login(event) {
  40. fetch("/sanctum/csrf-cookie", {
  41. method: 'GET'
  42. }).then( function(response) {
  43. token = getCookie('XSRF-TOKEN')
  44. fetch("/login", {
  45. method: 'POST',
  46. headers: {'Content-Type': 'application/json',
  47. 'X-XSRF-TOKEN': token},
  48. body: JSON.stringify({"email": document.getElementById("login_email").value,
  49. "password": document.getElementById("login_password").value}),
  50. }).then(response => {
  51. console.log('sent login');
  52. console.log(response.json())
  53. });
  54. })
  55. event.preventDefault();
  56. }
  57. toggle.addEventListener("click", function() {
  58. heroText.forEach(item => {
  59. item.classList.toggle("hidden")
  60. })
  61. document.querySelector("nav form.login").classList.toggle("active")
  62. this.classList.toggle("toggled")
  63. // this.src = "/images/close.svg"
  64. })
  65. //Triggers for registration menu
  66. for (i = 0; i < registerToggles.length; i++) {
  67. registerToggles[i].addEventListener("click", function() {
  68. document.querySelector(".register-area").classList.toggle("active")
  69. });
  70. }
  71. //FAQ code
  72. let cols = document.getElementsByClassName("collapsible");
  73. // let ;
  74. for (i = 0; i < cols.length; i++) {
  75. cols[i].addEventListener("click", function() {
  76. this.classList.toggle("active");
  77. });
  78. }
  79. document.getElementById('register-form').addEventListener('submit', register)
  80. document.getElementById('login_form').addEventListener('submit', login)
  81. passInput2.oninput = checkPasswords
  82. passInput.oninput = checkPasswords