import { StepConfig, patternValidator } from "@deuna/checkout-core";
import { TermsAndConditionsPattern } from "@deuna/utilities-patterns";
import ContinueButton from "components/ContinueButton";
import Logout from "components/Logout";
import { Disclaimer } from "components/Disclaimer";
import { Header } from "components/Header";
import { BodySmall } from "@deuna/components/typography";
import paymentMethodsItems from "@deuna/paymentmethods-pattern/patterns/payment-methods/src/paymentmethods-items";
import { StepName } from "./steps";
interface StepConfigProps {
handleClose?: () => void;
onExit?: () => void;
}
const guestSteps = ({ handleClose, onExit }: StepConfigProps): StepConfig => ({
id: "guest",
views: [],
mainLayout: [
{
name: StepName.CardFormStep,
label: "",
hiddenStep: true,
hideMerchantLogo: true,
sectionOverride: {
$style: {
padding: "0px",
},
},
header: [
{
pattern: () => ,
},
],
sections: [
{
pattern: () => (
Ingresa los datos de tu tarjeta de crédito/débito.
),
},
{
pattern: () => paymentMethodsItems.CreditCard().content as any,
},
],
footer: [
{
pattern: ContinueButton,
},
{
pattern: TermsAndConditionsPattern,
props: {
legalMessage: "Acepto todas las ",
},
},
],
onValidate: ({ userContext }) => {
const isEmailEmpty = userContext.state.userInfo.email === "";
if (isEmailEmpty) {
patternValidator.toggleValidation("EmailPattern");
return false;
}
const isValid = patternValidator.getValidator("EmailPattern").isValid;
if (!isValid) {
patternValidator.toggleValidation("EmailPattern");
return false;
}
return isValid;
},
},
{
name: StepName.AddressStep,
label: "",
hiddenStep: true,
hideMerchantLogo: true,
sectionOverride: {
$style: {
padding: "0px",
},
},
header: [{ pattern: () => }],
sections: [
{
pattern: Disclaimer,
},
],
footer: [
{
pattern: Logout,
props: {
onExit: onExit,
legalMessage: "Acepto todas las ",
},
},
],
onValidate: () => {
return true;
},
},
],
});
export default guestSteps;