ResetPassword.vue 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <script setup>
  2. import { Head, useForm } from '@inertiajs/inertia-vue3'
  3. import AuthValidationErrors from '@/components/AuthValidationErrors.vue'
  4. const props = defineProps({
  5. token: String,
  6. email: String,
  7. })
  8. const form = useForm({
  9. token: props.token,
  10. email: props.email,
  11. password: '',
  12. password_confirmation: '',
  13. })
  14. const submit = () => {
  15. form.post(route('password.update'), {
  16. onFinish: () => form.reset('password', 'password_confirmation'),
  17. })
  18. }
  19. </script>
  20. <template>
  21. <Head title="Reset Password" />
  22. <div class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
  23. <div class="grid flex-column align-items-center p-2 lg:p-0" style="min-width: 80%">
  24. <div class="col-12 xl:col-6">
  25. <AuthValidationErrors />
  26. </div>
  27. <div
  28. class="col-12 xl:col-6"
  29. style="
  30. border-radius: 56px;
  31. padding: 0.3rem;
  32. background: linear-gradient(180deg, var(--primary-color), rgba(33, 150, 243, 0) 30%);
  33. "
  34. >
  35. <div
  36. class="h-full w-full m-0 py-7 px-4"
  37. style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
  38. >
  39. <div class="text-center mb-5 text-600 font-medium">
  40. <span>Reset Password</span> <br />
  41. <span>Tulis Password baru untuk login</span>
  42. </div>
  43. <div class="w-full md:w-10 mx-auto">
  44. <label for="email" class="block text-900 text-xl font-medium mb-2">Email</label>
  45. <InputText
  46. id="email"
  47. v-model="form.email"
  48. type="text"
  49. class="w-full mb-3"
  50. placeholder="email"
  51. style="padding: 1rem"
  52. />
  53. <label for="password" class="block text-900 font-medium text-xl mb-2">Password</label>
  54. <Password
  55. id="password"
  56. v-model="form.password"
  57. placeholder="password"
  58. :toggleMask="true"
  59. class="w-full mb-3"
  60. inputClass="w-full"
  61. inputStyle="padding:1rem"
  62. />
  63. <label for="password_confirm" class="block text-900 font-medium text-xl mb-2">Password</label>
  64. <Password
  65. id="password_confirm"
  66. v-model="form.password_confirmation"
  67. placeholder="konfirmasi password"
  68. :toggleMask="true"
  69. class="w-full mb-3"
  70. inputClass="w-full"
  71. inputStyle="padding:1rem"
  72. />
  73. <Button @click="submit" label="Reset Password" :disabled="form.processing" class="w-full p-3 text-xl" />
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </template>