My SMM panel
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <form v-if="active === 'register'" v-on:submit="register" id="register-form">
  3. <h3>Registration</h3>
  4. <div>
  5. <label for='sender_name'>Name</label>
  6. <input id='register-name' required type='name' name='sender_name' placeholder=''
  7. spellcheck='false'>
  8. </div>
  9. <div>
  10. <label for='sender_email'>Email</label>
  11. <input v-on:input="checkPasswords" id='register-email' required type='email' name='sender_email' placeholder=''
  12. spellcheck='false'>
  13. </div>
  14. <div>
  15. <label for='sender_password'>Password</label>
  16. <input v-on:input="checkPasswords" id='register-password' required type='password' name='sender_password'
  17. placeholder='' spellcheck='false'>
  18. </div>
  19. <div>
  20. <label for='confirm_password'>Confirm Password</label>
  21. <input v-on:input="checkPasswords" id='confirm-password' required type='password'
  22. name='sender_password' placeholder='' spellcheck='false'>
  23. </div>
  24. <button class="submit-btn" type="submit">Submit</button>
  25. </form>
  26. <form v-if="active === 'forgot'" v-on:submit="register" id="forgot-form">
  27. <h3>Forgot Password</h3>
  28. <div>
  29. <label for='sender_email'>Email</label>
  30. <input id='forgot-email' required type='email' name='sender_email' placeholder=''
  31. spellcheck='false'>
  32. </div>
  33. <button class="submit-btn" type="submit">Submit</button>
  34. </form>
  35. <img v-if="active === 'loading'" type="image/svg+xml" class="loading-icon" src="../../images/loading.svg" alt=""/>
  36. <div v-on:click="closeArea" class="cancel-button"></div>
  37. </template>
  38. <script>
  39. function register(event) {
  40. fetch("/register", {
  41. method: 'POST',
  42. headers: {'Content-Type': 'application/json',
  43. 'X-XSRF-TOKEN': window.token},
  44. body: JSON.stringify({"name": document.getElementById("register-name").value,
  45. "email": document.getElementById("register-email").value,
  46. "password": document.getElementById("register-password").value}),
  47. "password_confirmation": document.getElementById("confirm-password").value})
  48. .then(response => {
  49. console.log(response.json())
  50. console.log(response.ok)
  51. console.log(response.message)
  52. });
  53. event.preventDefault();
  54. }
  55. function checkPasswords() {
  56. let passInput = document.getElementById('register-password')
  57. let passInput2 = document.getElementById('confirm-password')
  58. if (passInput.value != passInput2.value) {
  59. passInput2.setCustomValidity('Passwords must be matching')
  60. } else {
  61. passInput2.setCustomValidity('');
  62. }
  63. }
  64. module.exports = {
  65. data() {
  66. return {active: 'loading'}
  67. },
  68. methods: {
  69. register,
  70. checkPasswords,
  71. closeArea() {
  72. document.querySelector(".register-area").classList.remove("active")
  73. }
  74. }
  75. }
  76. </script>