| import { Button, ButtonProps } from "@/components/ui/button" | |
| import { AnimatedSpinnerIcon } from "@/components/Icon" | |
| export interface LoadingButtonProps extends Omit<ButtonProps, "asChild"> { | |
| loading?: boolean | |
| svgProps?: React.SVGProps<SVGSVGElement> | |
| } | |
| export function LoadingButton(props: LoadingButtonProps) { | |
| const { loading, disabled, children, svgProps, ...rest } = props | |
| return ( | |
| <Button {...rest} disabled={loading || disabled}> | |
| {loading && <AnimatedSpinnerIcon {...svgProps} />} | |
| {children} | |
| </Button> | |
| ) | |
| } | |