import React from 'react'
import { emailValidator } from '../../validators'
export const getFormFieldsNotLoggedIn = (
clientName?: string | number
): IFormFieldsSection[] => [
{
name: 'basic-info',
groupLabel: (
<>
If you want to enter your details manually, please type them below to create an
account, then click on
Confirm Registration:
>
),
groupLabelClassName: '',
groupClassName: '',
fields: [
{
className: 'half-width',
name: 'firstName',
label: 'First Name',
type: 'text',
required: true,
onValidate: null,
},
{
className: 'half-width',
name: 'lastName',
label: 'Last Name',
type: 'text',
required: true,
onValidate: null,
},
{
name: 'email',
label: 'Email',
type: 'email',
required: true,
onValidate: emailValidator,
},
{
name: 'confirmEmail',
label: 'Confirm Email',
type: 'email',
required: true,
onValidate: emailValidator,
},
],
},
{
name: 'billing-info',
groupLabel: '',
groupLabelClassName: '',
groupClassName: '',
fields: [
{
className: 'half-width',
name: 'zip',
label: 'Post Code/Zip',
type: 'text',
required: true,
onValidate: null,
},
{
className: 'half-width',
name: 'country',
label: 'Country',
type: 'select',
required: true,
onValidate: null,
},
],
},
{
name: 'password-info',
groupLabel: (
Choose a password for your new
{clientName || 'Mana Common'}
account
),
groupLabelClassName: '',
groupClassName: '',
fields: [
{
className: 'half-width',
name: 'password',
label: 'Password',
type: 'password',
required: true,
onValidate: null,
},
{
className: 'half-width',
name: 'confirmPassword',
label: 'Confirm Password',
type: 'password',
required: true,
onValidate: null,
},
],
},
]
export const getFormFieldsLoggedIn = (
clientName?: string | number
): IFormFieldsSection[] => [
{
name: 'basic-info-logged-in',
groupLabel:
'To confirm your pre-registration for {event_name} simply click on the confirmation button below.',
groupLabelClassName: '',
groupClassName: '',
fields: [
{
name: 'email',
label: 'Email',
type: 'email',
required: true,
onValidate: emailValidator,
},
{
name: 'confirmEmail',
label: 'Confirm Email',
type: 'email',
required: true,
onValidate: emailValidator,
},
],
},
{
name: 'billing-info-logged-in',
groupLabel: '',
groupLabelClassName: '',
groupClassName: '',
fields: [
{
name: 'numTickets',
label: 'How many tickets do you want to buy?',
type: 'select',
required: true,
options: new Array(10).fill(null).map((_, index) => ({
label: index + 1,
value: index + 1,
})),
onValidate: null,
},
{
name: 'holderAge',
label: 'Ticket Holder Age',
type: 'date',
required: true,
onValidate: null,
},
{
name: 'brandOptIn',
label: `I would like to be updated on ${
clientName || 'Mana Common'
} news, events and offers.`,
type: 'checkbox',
},
],
},
]