ResetPassword.vue 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 Password" />
  26. <AuthLayout>
  27. <template #header>
  28. <span>Reset Password</span> <br />
  29. <span>Tulis Password baru untuk login</span>
  30. </template>
  31. <AppInputText v-model="form.email" label="Email" placeholder="email" :error="form.errors.email" />
  32. <AppPassword v-model="form.password" label="Password" placeholder="password" :error="form.errors.password" />
  33. <AppPassword
  34. v-model="form.password_confirmation"
  35. label="konfirmasi password"
  36. placeholder="konfirmasi password"
  37. :error="form.errors.password_confirmation"
  38. />
  39. <Button @click="onSubmit" label="Reset Password" :disabled="form.processing" class="w-full p-3 text-xl" />
  40. </AuthLayout>
  41. </template>