fix: add loading state to buttons in forms and update button styles

This commit is contained in:
Ardeman
2025-03-11 06:00:49 +08:00
parent a45a6fb87e
commit 8cddc82031
5 changed files with 25 additions and 22 deletions
+2 -4
View File
@@ -29,7 +29,6 @@ export default function FormSubscription() {
const { setIsSubscribeOpen, setIsSuccessOpen } = useNewsContext()
const fetcher = useFetcher()
const [error, setError] = useState<string>()
const [disabled, setDisabled] = useState(false)
const loaderData = useRouteLoaderData<typeof loader>('routes/_news')
const { subscriptionsData: subscriptions } = loaderData || {}
@@ -44,11 +43,9 @@ export default function FormSubscription() {
useEffect(() => {
if (!fetcher.data?.success) {
setError(fetcher.data?.message)
setDisabled(false)
return
}
setDisabled(true)
setError(undefined)
setIsSubscribeOpen(false)
setIsSuccessOpen('payment')
@@ -77,7 +74,8 @@ export default function FormSubscription() {
)}
<Button
disabled={disabled}
isLoading={fetcher.state !== 'idle'}
disabled={fetcher.state !== 'idle'}
type="submit"
className="mt-5 w-full rounded-md py-2"
>