My SMM panel
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.js 2.6 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. }
  25. function login(event) {
  26. fetch("/login", {
  27. method: 'POST',
  28. headers: {'Content-Type': 'application/json',
  29. 'X-XSRF-TOKEN': token},
  30. body: JSON.stringify({"email":
  31. document.getElementById("login_email").value,
  32. "password": document.getElementById("login_password").value}),
  33. }).then(response => {
  34. console.log(response.json())
  35. console.log(response.ok)
  36. console.log(response.status)
  37. console.log(response.statusText)
  38. })
  39. event.preventDefault();
  40. }
  41. //Attempt to resend the verification link
  42. function resendLink(event) {
  43. console.log("clicked");
  44. event.preventDefault();
  45. }
  46. function toggleNav() {
  47. heroText.forEach(item => {
  48. item.classList.toggle("hidden")
  49. })
  50. document.querySelector("nav form.login").classList.toggle("active")
  51. this.classList.toggle("toggled")
  52. }
  53. if (!token) {getToken()}
  54. if (window.location.pathname == '/') {
  55. document.getElementById('nav_toggle').addEventListener('click', toggleNav)
  56. document.getElementById('login_form').addEventListener('submit', login)
  57. // console.log(app.$data.active)
  58. //Triggers for registration menu
  59. for (let i = 0; i < registerToggles.length; i++) {
  60. registerToggles[i].addEventListener("click", function() {
  61. document.querySelector(".register-area").classList.add("active")
  62. app.active = 'register'
  63. })
  64. }
  65. document.getElementById("forgot-password-btn").onclick = event => {
  66. document.querySelector(".register-area").classList.add("active")
  67. app.active = 'forgot'
  68. console.log(app.active)
  69. event.preventDefault()
  70. }
  71. //FAQ collapsibles
  72. let cols = document.getElementsByClassName("collapsible");
  73. for (let i = 0; i < cols.length; i++) {
  74. cols[i].addEventListener("click", function() {
  75. this.classList.toggle("active");
  76. });
  77. }
  78. } else if (window.location.pathname == '/verify-email') {
  79. document.getElementById('resend_verification').addEventListener("click", resendLink)
  80. }