Files
spliit/src/components/submit-button.tsx
Sebastien Castiel 570aa713b1 Delete expense
2023-12-06 15:08:52 -05:00

24 lines
617 B
TypeScript

import { Button, ButtonProps } from '@/components/ui/button'
import { Loader2 } from 'lucide-react'
import { ReactNode } from 'react'
import { useFormState } from 'react-hook-form'
type Props = {
loadingContent: ReactNode
} & ButtonProps
export function SubmitButton({ children, loadingContent, ...props }: Props) {
const { isSubmitting } = useFormState()
return (
<Button type="submit" disabled={isSubmitting} {...props}>
{isSubmitting ? (
<>
<Loader2 className="w-4 h-4 mr-2 animate-spin" /> {loadingContent}
</>
) : (
children
)}
</Button>
)
}