My SMM panel
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

110 satır
3.0 KiB

  1. import RegisterArea from './register-area/register-area.vue'
  2. import '../scss/main.scss'
  3. import { createApp } from 'vue'
  4. importAll(require.context('../images', false, /\.(png|jpe?g|svg)$/))
  5. let heroText = document.querySelectorAll(".landing-hero h2,.landing-hero p")
  6. let registerToggles = document.querySelectorAll(".register-btn, .register-area\
  7. .cancel-button, .services-cards button")
  8. let token = getCookie('XSRF-TOKEN')
  9. const app = createApp(RegisterArea).mount('#app')
  10. function importAll(r) {
  11. return r.keys().map(r)
  12. }
  13. function getCookie(name) {
  14. var re = new RegExp(name + "=([^;]+)")
  15. var value = re.exec(document.cookie)
  16. return (value != null) ? unescape(value[1]) : null
  17. }
  18. function getToken() {
  19. fetch("/sanctum/csrf-cookie", {
  20. method: 'GET'
  21. }).then( () => {
  22. token = getCookie('XSRF-TOKEN')
  23. })
  24. app.token = token
  25. }
  26. function login(event) {
  27. fetch("/login", {
  28. method: 'POST',
  29. headers: {'Content-Type': 'application/json',
  30. 'Accept': 'application/json',
  31. 'X-XSRF-TOKEN': token},
  32. body: JSON.stringify({"email":
  33. document.getElementById("login_email").value,
  34. "password": document.getElementById("login_password").value}),
  35. }).then(response => {
  36. if (response.ok) {
  37. }
  38. })
  39. event.preventDefault();
  40. }
  41. //Attempt to resend the verification link
  42. function resendLink(event) {
  43. fetch("/resend-verification", {
  44. method: 'POST',
  45. headers: {'Content-Type': 'application/json',
  46. 'Accept': 'application/json',
  47. 'X-XSRF-TOKEN': token},
  48. }).then(response => {
  49. if (response.ok) {
  50. event.target.parentNode.getElementsByTagName('h3')[0].innerText =
  51. "The link has been resent."
  52. } else {
  53. event.target.parentNode.getElementsByTagName('h3')[0].innerText =
  54. `${response.status} : ${response.statusText}`
  55. }
  56. })
  57. event.preventDefault();
  58. }
  59. function toggleNav() {
  60. heroText.forEach(item => {
  61. item.classList.toggle("hidden")
  62. })
  63. document.querySelector("nav form.login").classList.toggle("active")
  64. this.classList.toggle("toggled")
  65. }
  66. if (!token) {getToken()}
  67. if (window.location.pathname == '/') {
  68. document.getElementById('nav_toggle').addEventListener('click', toggleNav)
  69. document.getElementById('login_form').addEventListener('submit', login)
  70. app.token = token
  71. // console.log(app.token)
  72. // console.log(app.$data.active)
  73. //Triggers for registration menu
  74. for (let i = 0; i < registerToggles.length; i++) {
  75. registerToggles[i].addEventListener("click", function() {
  76. document.querySelector(".register-area").classList.add("active")
  77. app.active = 'register'
  78. })
  79. }
  80. document.getElementById("forgot-password-btn").onclick = event => {
  81. document.querySelector(".register-area").classList.add("active")
  82. app.active = 'forgot'
  83. event.preventDefault()
  84. }
  85. //FAQ collapsibles
  86. let cols = document.getElementsByClassName("collapsible");
  87. for (let i = 0; i < cols.length; i++) {
  88. cols[i].addEventListener("click", function() {
  89. this.classList.toggle("active");
  90. });
  91. }
  92. } else if (window.location.pathname == '/verify-email') {
  93. document.getElementById('resend_verification').addEventListener("click", resendLink)
  94. }