@godaddy/react
Version:
The `createCheckoutSession` function creates a new checkout session with GoDaddy's commerce API.
41 lines (39 loc) • 1.4 kB
JavaScript
import { H as Button, Q as useIsPaymentDisabled, m as usePoyntCollect, o as useCheckoutContext, rt as useGoDaddyContext, u as useBuildPaymentRequest } from "./checkout-CCruxHvk.js";
import "./utils-DWBfAHfx.js";
import { useCallback, useRef } from "react";
import { useFormContext } from "react-hook-form";
import { jsx } from "react/jsx-runtime";
//#region src/components/checkout/payment/checkout-buttons/credit-card/godaddy.tsx
function CreditCardCheckoutButton() {
const { collect, isLoadingNonce } = usePoyntCollect();
const { isConfirmingCheckout } = useCheckoutContext();
const isPaymentDisabled = useIsPaymentDisabled();
const form = useFormContext();
const { poyntCardRequest } = useBuildPaymentRequest();
const buttonRef = useRef(null);
const { t } = useGoDaddyContext();
const handleSubmit = useCallback(async () => {
if (!await form.trigger()) {
const firstError = Object.keys(form.formState.errors)[0];
if (firstError) form.setFocus(firstError);
return;
}
collect?.getNonce(poyntCardRequest);
}, [
poyntCardRequest,
form,
collect
]);
if (!collect) return null;
return /* @__PURE__ */ jsx(Button, {
className: "w-full",
size: "lg",
type: "button",
onClick: handleSubmit,
ref: buttonRef,
disabled: isLoadingNonce || isConfirmingCheckout || isPaymentDisabled,
children: t.payment.payNow
});
}
//#endregion
export { CreditCardCheckoutButton };