ResetPassword.vue 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <script setup>
  2. import { Head, useForm } from '@inertiajs/inertia-vue3'
  3. import { useFormErrorReset } from '@/components/useFormErrorReset'
  4. import AppInputText from '@/components/AppInputText.vue'
  5. import AppPassword from '@/components/AppPassword.vue'
  6. import AuthLayout from '@/layouts/AuthLayout.vue'
  7. const props = defineProps({
  8. token: String,
  9. email: String,
  10. })
  11. const form = useForm({
  12. token: props.token,
  13. email: props.email,
  14. password: '',
  15. password_confirmation: '',
  16. })
  17. useFormErrorReset(form)
  18. const onSubmit = () => {
  19. form.post(route('password.update'), {
  20. onFinish: () => form.reset('password', 'password_confirmation'),
  21. })
  22. }
  23. </script>
  24. <template>
  25. <Head title="Reset Kata Sandi" />
  26. <AuthLayout>
  27. <template #header>
  28. <span>Reset Kata Sandi</span> <br />
  29. <span>Tulis Kata Sandi baru untuk login</span>
  30. </template>
  31. <AppInputText
  32. v-model="form.email"
  33. label="Email"
  34. placeholder="email"
  35. :error="form.errors.email"
  36. />
  37. <AppPassword
  38. v-model="form.password"
  39. label="Kata Sandi"
  40. placeholder="kata sandi"
  41. :error="form.errors.password"
  42. />
  43. <AppPassword
  44. v-model="form.password_confirmation"
  45. label="Konfirmasi Kata Sandi"
  46. placeholder="konfirmasi kata sandi"
  47. :error="form.errors.password_confirmation"
  48. />
  49. <Button
  50. @click="onSubmit"
  51. label="Reset Kata Sandi"
  52. :disabled="form.processing"
  53. class="w-full p-3 text-xl"
  54. />
  55. </AuthLayout>
  56. </template>