fix: update effect dependencies to use fetcher.data for improved error handling in dialogs

This commit is contained in:
Ardeman 2025-03-15 17:27:49 +08:00
parent e7ef7177ca
commit 7b840ce5cd
5 changed files with 13 additions and 13 deletions

View File

@ -37,7 +37,7 @@ export const DialogUpload = () => {
setUploadedFile(fetcher.data.uploadData.data.file_url)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetcher])
}, [fetcher.data])
const handleChange = async function (event: ChangeEvent<HTMLInputElement>) {
event.preventDefault()

View File

@ -36,8 +36,8 @@ export const DialogLogin = () => {
const { handleSubmit } = formMethods
useEffect(() => {
if (!fetcher.data?.success) {
toast.error(fetcher.data?.message)
if (!fetcher.data?.success && fetcher.data?.message) {
toast.error(fetcher.data.message)
return
}
@ -47,7 +47,7 @@ export const DialogLogin = () => {
setIsSubscribeOpen(true)
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetcher])
}, [fetcher.data])
return (
<DialogNews

View File

@ -58,15 +58,15 @@ export const DialogRegister = () => {
const { handleSubmit, control } = formMethods
useEffect(() => {
if (!fetcher.data?.success) {
toast.error(fetcher.data?.message)
if (!fetcher.data?.success && fetcher.data?.message) {
toast.error(fetcher.data.message)
return
}
setIsRegisterOpen(false)
setIsSuccessOpen('register')
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetcher])
}, [fetcher.data])
return (
<DialogNews

View File

@ -43,15 +43,15 @@ export const DialogSubscribePlan = () => {
const { handleSubmit } = formMethods
useEffect(() => {
if (!fetcher.data?.success) {
toast.error(fetcher.data?.message)
if (!fetcher.data?.success && fetcher.data?.message) {
toast.error(fetcher.data.message)
return
}
setIsSubscribeOpen(false)
setIsSuccessOpen('payment')
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetcher])
}, [fetcher.data])
return (
<DialogNews

View File

@ -27,12 +27,12 @@ export const AdminLoginPage = () => {
const { handleSubmit } = formMethods
useEffect(() => {
if (!fetcher.data?.success) {
toast.error(fetcher.data?.message)
if (!fetcher.data?.success && fetcher.data?.message) {
toast.error(fetcher.data.message)
return
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fetcher])
}, [fetcher.data])
return (
<div className="flex min-h-dvh min-w-dvw flex-col items-center justify-center space-y-8">