From 54593684797a2238a328309948dbd126c8455ea2 Mon Sep 17 00:00:00 2001 From: impruthvi Date: Tue, 25 Feb 2025 15:43:04 +0530 Subject: [PATCH 1/2] refactor: use Partial type for form data in authentication and profile components --- resources/js/components/delete-user.tsx | 2 +- resources/js/pages/auth/confirm-password.tsx | 2 +- resources/js/pages/auth/forgot-password.tsx | 2 +- resources/js/pages/auth/login.tsx | 2 +- resources/js/pages/auth/register.tsx | 2 +- resources/js/pages/auth/reset-password.tsx | 2 +- resources/js/pages/settings/profile.tsx | 7 ++++++- 7 files changed, 12 insertions(+), 7 deletions(-) diff --git a/resources/js/components/delete-user.tsx b/resources/js/components/delete-user.tsx index 52caed201..1f230bd68 100644 --- a/resources/js/components/delete-user.tsx +++ b/resources/js/components/delete-user.tsx @@ -13,7 +13,7 @@ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, Di export default function DeleteUser() { const passwordInput = useRef(null); - const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm({ password: '' }); + const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm>({ password: '' }); const deleteUser: FormEventHandler = (e) => { e.preventDefault(); diff --git a/resources/js/pages/auth/confirm-password.tsx b/resources/js/pages/auth/confirm-password.tsx index 5b3e7dbe3..c94ddc92a 100644 --- a/resources/js/pages/auth/confirm-password.tsx +++ b/resources/js/pages/auth/confirm-password.tsx @@ -10,7 +10,7 @@ import { Label } from '@/components/ui/label'; import AuthLayout from '@/layouts/auth-layout'; export default function ConfirmPassword() { - const { data, setData, post, processing, errors, reset } = useForm({ + const { data, setData, post, processing, errors, reset } = useForm>({ password: '', }); diff --git a/resources/js/pages/auth/forgot-password.tsx b/resources/js/pages/auth/forgot-password.tsx index 82e171691..ec5a09d60 100644 --- a/resources/js/pages/auth/forgot-password.tsx +++ b/resources/js/pages/auth/forgot-password.tsx @@ -11,7 +11,7 @@ import { Label } from '@/components/ui/label'; import AuthLayout from '@/layouts/auth-layout'; export default function ForgotPassword({ status }: { status?: string }) { - const { data, setData, post, processing, errors } = useForm({ + const { data, setData, post, processing, errors } = useForm>({ email: '', }); diff --git a/resources/js/pages/auth/login.tsx b/resources/js/pages/auth/login.tsx index 0c329cd7b..a57f815fb 100644 --- a/resources/js/pages/auth/login.tsx +++ b/resources/js/pages/auth/login.tsx @@ -22,7 +22,7 @@ interface LoginProps { } export default function Login({ status, canResetPassword }: LoginProps) { - const { data, setData, post, processing, errors, reset } = useForm({ + const { data, setData, post, processing, errors, reset } = useForm>({ email: '', password: '', remember: false, diff --git a/resources/js/pages/auth/register.tsx b/resources/js/pages/auth/register.tsx index 39fd41178..9fff31013 100644 --- a/resources/js/pages/auth/register.tsx +++ b/resources/js/pages/auth/register.tsx @@ -17,7 +17,7 @@ interface RegisterForm { } export default function Register() { - const { data, setData, post, processing, errors, reset } = useForm({ + const { data, setData, post, processing, errors, reset } = useForm>({ name: '', email: '', password: '', diff --git a/resources/js/pages/auth/reset-password.tsx b/resources/js/pages/auth/reset-password.tsx index 220d2ff9f..0b2c33b0b 100644 --- a/resources/js/pages/auth/reset-password.tsx +++ b/resources/js/pages/auth/reset-password.tsx @@ -21,7 +21,7 @@ interface ResetPasswordForm { } export default function ResetPassword({ token, email }: ResetPasswordProps) { - const { data, setData, post, processing, errors, reset } = useForm({ + const { data, setData, post, processing, errors, reset } = useForm>({ token: token, email: email, password: '', diff --git a/resources/js/pages/settings/profile.tsx b/resources/js/pages/settings/profile.tsx index 83e3b1bc2..06a01888b 100644 --- a/resources/js/pages/settings/profile.tsx +++ b/resources/js/pages/settings/profile.tsx @@ -19,10 +19,15 @@ const breadcrumbs: BreadcrumbItem[] = [ }, ]; +interface ProfileForm { + name: string; + email: string; +} + export default function Profile({ mustVerifyEmail, status }: { mustVerifyEmail: boolean; status?: string }) { const { auth } = usePage().props; - const { data, setData, patch, errors, processing, recentlySuccessful } = useForm({ + const { data, setData, patch, errors, processing, recentlySuccessful } = useForm>({ name: auth.user.name, email: auth.user.email, }); From edc1c9ccc0290c02e85978d220963799c742aae8 Mon Sep 17 00:00:00 2001 From: impruthvi Date: Tue, 25 Feb 2025 17:08:38 +0530 Subject: [PATCH 2/2] fix: change form data types from Partial to Required --- resources/js/components/delete-user.tsx | 2 +- resources/js/pages/auth/confirm-password.tsx | 2 +- resources/js/pages/auth/forgot-password.tsx | 2 +- resources/js/pages/auth/login.tsx | 2 +- resources/js/pages/auth/register.tsx | 2 +- resources/js/pages/auth/reset-password.tsx | 2 +- resources/js/pages/settings/profile.tsx | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/js/components/delete-user.tsx b/resources/js/components/delete-user.tsx index 1f230bd68..6740764c4 100644 --- a/resources/js/components/delete-user.tsx +++ b/resources/js/components/delete-user.tsx @@ -13,7 +13,7 @@ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, Di export default function DeleteUser() { const passwordInput = useRef(null); - const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm>({ password: '' }); + const { data, setData, delete: destroy, processing, reset, errors, clearErrors } = useForm>({ password: '' }); const deleteUser: FormEventHandler = (e) => { e.preventDefault(); diff --git a/resources/js/pages/auth/confirm-password.tsx b/resources/js/pages/auth/confirm-password.tsx index c94ddc92a..bc1ae5723 100644 --- a/resources/js/pages/auth/confirm-password.tsx +++ b/resources/js/pages/auth/confirm-password.tsx @@ -10,7 +10,7 @@ import { Label } from '@/components/ui/label'; import AuthLayout from '@/layouts/auth-layout'; export default function ConfirmPassword() { - const { data, setData, post, processing, errors, reset } = useForm>({ + const { data, setData, post, processing, errors, reset } = useForm>({ password: '', }); diff --git a/resources/js/pages/auth/forgot-password.tsx b/resources/js/pages/auth/forgot-password.tsx index ec5a09d60..51d4aa787 100644 --- a/resources/js/pages/auth/forgot-password.tsx +++ b/resources/js/pages/auth/forgot-password.tsx @@ -11,7 +11,7 @@ import { Label } from '@/components/ui/label'; import AuthLayout from '@/layouts/auth-layout'; export default function ForgotPassword({ status }: { status?: string }) { - const { data, setData, post, processing, errors } = useForm>({ + const { data, setData, post, processing, errors } = useForm>({ email: '', }); diff --git a/resources/js/pages/auth/login.tsx b/resources/js/pages/auth/login.tsx index a57f815fb..1fccb77dc 100644 --- a/resources/js/pages/auth/login.tsx +++ b/resources/js/pages/auth/login.tsx @@ -22,7 +22,7 @@ interface LoginProps { } export default function Login({ status, canResetPassword }: LoginProps) { - const { data, setData, post, processing, errors, reset } = useForm>({ + const { data, setData, post, processing, errors, reset } = useForm>({ email: '', password: '', remember: false, diff --git a/resources/js/pages/auth/register.tsx b/resources/js/pages/auth/register.tsx index 9fff31013..9ef43b6db 100644 --- a/resources/js/pages/auth/register.tsx +++ b/resources/js/pages/auth/register.tsx @@ -17,7 +17,7 @@ interface RegisterForm { } export default function Register() { - const { data, setData, post, processing, errors, reset } = useForm>({ + const { data, setData, post, processing, errors, reset } = useForm>({ name: '', email: '', password: '', diff --git a/resources/js/pages/auth/reset-password.tsx b/resources/js/pages/auth/reset-password.tsx index 0b2c33b0b..621b8707c 100644 --- a/resources/js/pages/auth/reset-password.tsx +++ b/resources/js/pages/auth/reset-password.tsx @@ -21,7 +21,7 @@ interface ResetPasswordForm { } export default function ResetPassword({ token, email }: ResetPasswordProps) { - const { data, setData, post, processing, errors, reset } = useForm>({ + const { data, setData, post, processing, errors, reset } = useForm>({ token: token, email: email, password: '', diff --git a/resources/js/pages/settings/profile.tsx b/resources/js/pages/settings/profile.tsx index 06a01888b..a810bf2c5 100644 --- a/resources/js/pages/settings/profile.tsx +++ b/resources/js/pages/settings/profile.tsx @@ -27,7 +27,7 @@ interface ProfileForm { export default function Profile({ mustVerifyEmail, status }: { mustVerifyEmail: boolean; status?: string }) { const { auth } = usePage().props; - const { data, setData, patch, errors, processing, recentlySuccessful } = useForm>({ + const { data, setData, patch, errors, processing, recentlySuccessful } = useForm>({ name: auth.user.name, email: auth.user.email, });