11<script setup lang="ts">
2- import { Head , useForm } from " @inertiajs/vue3"
2+ import { Form , Head } from " @inertiajs/vue3"
33import { LoaderCircle } from " lucide-vue-next"
44
55import InputError from " @/components/InputError.vue"
@@ -15,21 +15,6 @@ interface Props {
1515}
1616
1717const props = defineProps <Props >()
18-
19- const form = useForm ({
20- sid: props .sid ,
21- email: props .email ,
22- password: " " ,
23- password_confirmation: " " ,
24- })
25-
26- const submit = () => {
27- form .put (identityPasswordResetPath (), {
28- onFinish : () => {
29- form .reset (" password" , " password_confirmation" )
30- },
31- })
32- }
3318 </script >
3419
3520<template >
@@ -39,56 +24,60 @@ const submit = () => {
3924 >
4025 <Head title =" Reset password" />
4126
42- <form @submit.prevent =" submit" >
27+ <Form
28+ method =" put"
29+ :action =" identityPasswordResetPath()"
30+ :transform =" (data) => ({ ...data, sid, email })"
31+ :resetOnSuccess =" ['password', 'password_confirmation']"
32+ #default =" { errors, processing }"
33+ >
4334 <div class =" grid gap-6" >
4435 <div class =" grid gap-2" >
4536 <Label for =" email" >Email</Label >
4637 <Input
4738 id =" email"
48- type =" email"
4939 name =" email"
40+ type =" email"
5041 autocomplete =" email"
51- v-model = " form .email"
42+ :defaultValue = " props .email"
5243 class =" mt-1 block w-full"
5344 readonly
5445 />
55- <InputError :message =" form. errors.email" class =" mt-2" />
46+ <InputError :message =" errors.email" class =" mt-2" />
5647 </div >
5748
5849 <div class =" grid gap-2" >
5950 <Label for =" password" >Password</Label >
6051 <Input
6152 id =" password"
62- type =" password"
6353 name =" password"
54+ type =" password"
6455 autocomplete =" new-password"
65- v-model =" form.password"
6656 class =" mt-1 block w-full"
6757 autofocus
6858 placeholder =" Password"
6959 />
70- <InputError :message =" form. errors.password" />
60+ <InputError :message =" errors.password" />
7161 </div >
7262
7363 <div class =" grid gap-2" >
7464 <Label for =" password_confirmation" > Confirm Password </Label >
7565 <Input
7666 id =" password_confirmation"
77- type =" password"
7867 name =" password_confirmation"
68+ type =" password"
7969 autocomplete =" new-password"
80- v-model =" form.password_confirmation"
8170 class =" mt-1 block w-full"
8271 placeholder =" Confirm password"
8372 />
84- <InputError :message =" form. errors.password_confirmation" />
73+ <InputError :message =" errors.password_confirmation" />
8574 </div >
8675
87- <Button type =" submit" class =" mt-4 w-full" :disabled =" form. processing" >
88- <LoaderCircle v-if =" form. processing" class =" h-4 w-4 animate-spin" />
76+ <Button type =" submit" class =" mt-4 w-full" :disabled =" processing" >
77+ <LoaderCircle v-if =" processing" class =" h-4 w-4 animate-spin" />
8978 Reset password
9079 </Button >
9180 </div >
92- </form >
81+ </Form >
9382 </AuthLayout >
9483</template >
0 commit comments