"use client"; import { Loader2 } from "lucide-react"; import { Button } from "poyraz-ui/atoms"; import type { ComponentProps, ReactNode } from "react"; import { useFormStatus } from "react-dom"; import { cn } from "@/lib/utils"; type PendingSubmitButtonProps = Omit< ComponentProps, "effect" | "variant" > & { idleIcon?: ReactNode; pendingIcon?: ReactNode; pendingChildren?: ReactNode; variant?: "default" | "secondary"; }; export function PendingSubmitButton({ children, className, disabled, idleIcon, pendingChildren, pendingIcon, type = "submit", variant = "default", ...props }: PendingSubmitButtonProps) { const { pending } = useFormStatus(); const icon = pending ? pendingIcon ?? : idleIcon; return ( ); }