import { useForm } from '@inertiajs/react'; import classNames from 'classnames'; import React, { useRef } from 'react'; import useRoute from '@/Hooks/useRoute'; import ActionMessage from '@/Components/ActionMessage'; import FormSection from '@/Components/FormSection'; import InputError from '@/Components/InputError'; import InputLabel from '@/Components/InputLabel'; import PrimaryButton from '@/Components/PrimaryButton'; import TextInput from '@/Components/TextInput'; export default function UpdatePasswordForm() { const route = useRoute(); const form = useForm({ current_password: '', password: '', password_confirmation: '', }); const passwordRef = useRef(null); const currentPasswordRef = useRef(null); function updatePassword() { form.put(route('user-password.update'), { errorBag: 'updatePassword', preserveScroll: true, onSuccess: () => form.reset(), onError: () => { if (form.errors.password) { form.reset('password', 'password_confirmation'); passwordRef.current?.focus(); } if (form.errors.current_password) { form.reset('current_password'); currentPasswordRef.current?.focus(); } }, }); } return ( ( <> Saved. Save )} >
Current Password form.setData('current_password', e.currentTarget.value) } autoComplete="current-password" />
New Password form.setData('password', e.currentTarget.value)} autoComplete="new-password" ref={passwordRef} />
Confirm Password form.setData('password_confirmation', e.currentTarget.value) } autoComplete="new-password" />
); }