"use client";

import { Button } from "@/components/ui/button";
import { Spinner } from "@/components/ui/spinner";
import { cn } from "@/lib/utils";

export function SubmitButton({
  pending,
  label,
  pendingLabel,
  className,
  disabled,
}: {
  pending: boolean;
  label: string;
  pendingLabel: string;
  className?: string;
  disabled?: boolean;
}) {
  return (
    <Button
      type="submit"
      size="lg"
      disabled={pending || disabled}
      aria-busy={pending}
      className={cn("h-11 w-full gap-2 text-sm font-semibold", className)}
    >
      {pending ? (
        <>
          <Spinner className="size-4" />
          {pendingLabel}
        </>
      ) : (
        label
      )}
    </Button>
  );
}

export default SubmitButton;
