tasko/components/form/form-submit.tsx

42 lines
724 B
TypeScript
Raw Normal View History

2024-02-15 02:30:10 +00:00
"Use client";
import { useFormStatus } from "react-dom";
import { cn } from "@/lib/utils";
import { Button } from "@/components/ui/button";
interface FormSubmitProps {
children: React.ReactNode;
disabled?: boolean;
className?: string;
variant?:
| "default"
| "destructive"
| "outline"
| "secondary"
| "ghost"
| "link"
| "primary";
}
export const FormSubmit = ({
children,
disabled,
className,
variant = "primary",
}: FormSubmitProps) => {
const { pending } = useFormStatus();
return (
<Button
disabled={pending || disabled}
type="submit"
variant={variant}
size="sm"
className={cn(className)}
>
{children}
</Button>
);
};