{"version":3,"sources":["components/MetaTags/MetaTags.tsx","pages/Signup/components/CustomSteps/CustomSteps.tsx","config/env.ts","pages/Signup/components/UserInfo/components/UserForm/validation.ts","pages/Signup/components/UserInfo/components/UserForm/UserForm.tsx","context/SignupsContext.tsx","config/api.ts","pages/Signup/components/UserInfo/UserInfo.tsx","pages/Signup/components/Legalities/components/LegalitiesForm/components/FileToUpload/FileToUpload.tsx","pages/Signup/components/Legalities/components/LegalitiesForm/components/TermsAndConditions/TermsAndConditions.tsx","pages/Signup/components/Legalities/components/LegalitiesForm/validation.ts","utils/iconUtils.tsx","pages/Signup/components/Legalities/components/LegalitiesForm/LegalitiesForm.tsx","pages/Signup/components/Legalities/Legalities.tsx","pages/Signup/components/Confirmation/Confirmation.tsx","pages/Signup/components/Success/Success.tsx","config/inspectlet.ts","pages/Signup/Signup.tsx","pages/Signup/index.tsx"],"names":["withRouter","match","metaTitle","metaDescription","metaImg","Helmet","process","name","content","property","url","Step","Steps","StyledStepsWrapper","styled","div","CustomSteps","stepsCount","current","stepsArray","Array","from","_","i","className","progressDot","map","idx","key","browserWindow","window","environment","ENV","toUpperCase","isDev","includes","invalidDomainSource","domains","wildcards","userFormSchema","Yup","firstname","min","max","required","lastname","email","test","emailDomain","split","Text","Typography","StyledForm","Form","withFormik","validationSchema","handleSubmit","values","formikBag","props","onSubmit","setSubmitting","displayName","isSubmitting","handleChange","handleBlur","errors","touched","colon","layout","onSubmitCapture","Item","label","validateStatus","help","placeholder","type","size","value","onChange","onBlur","disabled","loading","htmlType","block","SignupsContext","createContext","airtableUser","setCurrentUser","SignupsContextProvider","children","derivedUser","localStorage","getItem","useState","JSON","parse","setAirtableUser","useEffect","user","setItem","stringify","removeItem","Provider","useSignupsContextValue","useContext","axios","create","baseURL","Title","useBreakpoint","Grid","StyledUserInfoWrapper","history","screens","a","api","post","Object","assign","data","ok","push","error","message","cx","xs","level","StyledFileNameWrapper","StyledCloseButton","Button","FileToUpload","isFileValid","filename","setFileToUpload","LinkOutlined","title","FileUnknownOutlined","CheckCircleOutlined","style","fontSize","color","icon","CloseOutlined","onClick","Paragraph","StyledModal","Modal","TermsAndConditions","modalState","setModalState","visible","closeIcon","onCancel","footer","maskClosable","SUPPORTED_FILE_EXTENSIONS","legalitiesFormSchema","shape","fileToUpload","fileExtension","pop","termsAndConditions","oneOf","LockIcon","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","SmallLockIcon","StyledButton","StyledCheckboxWrapper","mapPropsToValues","undefined","setFieldValue","setFieldTouched","DerivedLockIcon","marginRight","gutter","sm","md","lg","action","showUploadList","accept","x","toLowerCase","join","info","file","customRequest","UploadOutlined","checked","e","StyledLegalitiesWrapper","formData","FormData","append","originFileObj","patch","id","headers","alert","strong","underline","StyledConfirmationWrapper","StyledText","location","queryParams","queryString","search","resendingState","setResendingState","Boolean","code","loadingState","setLoadingState","avatar","replace","emailVerified","resendEmail","success","spinning","indicator","LoadingIcon","StyledSuccessWrapper","inspectlet","__insp","TabPane","Tabs","SIGNUP_STEPS","component","StyledTabs","currentStep","setCurrentStep","step","params","step_num","href","pathname","AppLayout","length","activeKey","toString","tab","exact","path","Signup","to","FourOhFour"],"mappings":"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","file":"static/js/4.6afe5e57.chunk.js","sourcesContent":["import React from 'react';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport { Helmet } from \"react-helmet\";\n\nconst LOGO = '/assets/images/logo.png';\n\ninterface IMetaTags extends RouteComponentProps {\n metaTitle: string,\n metaDescription?: string,\n metaImg?: string,\n}\n\nconst MetaTags: React.FC = ({\n match, metaTitle,\n metaDescription = 'The most diverse and fun gaming site to play at',\n metaImg = LOGO,\n}) => {\n return (\n \n {metaTitle} · {process.env.REACT_APP_NAME}\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n );\n};\n\nexport default withRouter(MetaTags);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Steps } from 'antd';\n\nconst { Step } = Steps;\n\nconst StyledStepsWrapper = styled.div`\n .ant-steps {\n max-width: 120px;\n .ant-steps-item {\n .ant-steps-item-container {\n .ant-steps-item-tail {\n top: 4px;\n margin: 0;\n &::after {\n width: 24px;\n height: 2px;\n background: #323234;\n }\n }\n .ant-steps-item-icon {\n margin: 0;\n top: 0;\n width: 12px;\n height: 12px;\n line-height: 12px;\n .ant-steps-icon {\n color: #323234;\n .ant-steps-icon-dot {\n background: #323234;\n &::after {\n display: none;\n }\n }\n }\n }\n .ant-steps-item-content {\n display: none;\n }\n }\n &.ant-steps-item-finish {\n .ant-steps-item-tail {\n &::after {\n background: #F3AF2C;\n }\n }\n }\n &.ant-steps-item-finish, &.ant-steps-item-active {\n .ant-steps-item-icon {\n .ant-steps-icon {\n color: #F3AF2C;\n .ant-steps-icon-dot {\n background: #F3AF2C;\n }\n }\n }\n }\n }\n }\n`;\n\nconst CustomSteps: React.FC<{ stepsCount: number; current: number }> = ({ stepsCount, current }) => {\n const stepsArray = Array.from(Array(stepsCount), (_, i) => i);\n return (\n \n \n {stepsArray.map((_, idx) => (\n \n ))}\n \n \n );\n};\n\nexport default CustomSteps;\n","type TEnv = 'DEVELOPMENT' | 'STAGING' | 'PRODUCTION';\n\nconst browserWindow = window as any;\nconst environment: TEnv = browserWindow?.ENV ?\n browserWindow.ENV.toUpperCase() : process.env.NODE_ENV.toUpperCase();\n\nexport const isDev = ['DEVELOPMENT', 'STAGING'].includes(environment);\n\nexport default environment;\n","import * as Yup from 'yup';\nimport { isDev } from 'config/env';\nimport domains from 'disposable-email-domains';\nimport wildcards from 'disposable-email-domains/wildcard.json';\n\nconst invalidDomainSource = [...domains, ...wildcards];\n\nexport const userFormSchema = Yup.object({\n firstname: Yup.string()\n .min(2, 'First name must be 2 or more characters.')\n .max(50, 'First name must not exceed 50 characters')\n .required('First name is required.'),\n lastname: Yup.string()\n .min(2, 'Last name must be 2 or more characters.')\n .max(50, 'Last name must not exceed 50 characters')\n .required('Last name is required.'),\n email: Yup.string()\n .email('Email is invalid.')\n .test('Temporary email checker', 'Email is not allowed', (email) => {\n if (isDev) return true;\n if (!email) return false;\n const emailDomain = email.split('@')[1];\n return !invalidDomainSource.includes(emailDomain);\n })\n .required('Email is required.')\n});\n","import React from 'react';\nimport { withFormik, FormikProps } from 'formik';\nimport styled from 'styled-components';\nimport { Form, Input, Button, Typography } from 'antd';\n\nimport { userFormSchema } from './validation';\n\nconst { Text } = Typography;\n\nexport interface IUserFormFields {\n firstname: string;\n lastname: string;\n email: string;\n}\n\ninterface IExternalProps {\n onSubmit: (\n values: IUserFormFields,\n setSubmitting: (isSubmitting: boolean) => void,\n ) => void,\n}\n\nconst StyledForm = styled(Form)`\n &.ant-form {\n width: 100%;\n .ant-form-item {\n .ant-form-item-label {\n padding-bottom: 4px;\n label {\n color: #FFF;\n }\n }\n .ant-input {\n border: 1px solid #474747;\n border-radius: 0;\n color: #FFF;\n &::placeholder {\n color: #474747;\n }\n } \n &.ant-form-item-has-error {\n margin-bottom: 5px;\n .ant-form-item-control {\n .ant-input {\n border: 1px solid #FF4E4E;\n }\n .ant-form-item-explain {\n font-size: 11px;\n line-height: 15px;\n margin-top: 4px;\n div {\n color: #FF4E4E !important;\n }\n }\n }\n }\n }\n }\n`;\n\nconst UserForm: React.FC> = ({\n values, isSubmitting, handleChange, handleBlur, handleSubmit, errors, touched,\n}) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n
\n By clicking \"next\" you agree to receive emails in the future from UBOmoney\n
\n
\n )\n}\n\nexport default withFormik({\n validationSchema: userFormSchema,\n handleSubmit: (values, formikBag) => {\n formikBag.props.onSubmit(values, formikBag.setSubmitting);\n },\n displayName: 'UserForm',\n})(UserForm);\n","import React, { createContext, useContext, useState, useEffect, PropsWithChildren } from 'react';\n\nexport type TUser = {\n avatar: string | null;\n email: string;\n firstname: string;\n lastname: string;\n id: string;\n}\n\ninterface ISignupsContext {\n airtableUser: TUser | null,\n setCurrentUser: (currentUser: TUser | null) => void,\n}\n\nconst SignupsContext = createContext({\n airtableUser: null,\n setCurrentUser: _ => {},\n});\n\nconst SignupsContextProvider: React.FC> = ({ children }) => {\n let derivedUser = localStorage.getItem('currentUser');\n\n const [airtableUser, setAirtableUser] = useState(derivedUser ? JSON.parse(derivedUser) : null);\n\n useEffect(() => {\n setCurrentUser(derivedUser ? JSON.parse(derivedUser) : null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const setCurrentUser = (user: TUser | null) => {\n if (user) localStorage.setItem('currentUser', JSON.stringify(user));\n else localStorage.removeItem('currentUser');\n setAirtableUser(user);\n }\n\n return (\n \n {children}\n \n );\n}\n\nconst useSignupsContextValue = () => useContext(SignupsContext);\nexport { SignupsContextProvider, useSignupsContextValue };\nexport default SignupsContext;\n","import axios from 'axios';\r\n\r\nimport { TUser } from 'context/SignupsContext';\r\n\r\nexport default axios.create({\r\n baseURL: 'https://api.basketislife.com'\r\n});\r\n\r\nexport type TError = {\r\n message: string;\r\n}\r\n\r\nexport interface IUserResponse {\r\n ok: boolean;\r\n user: TUser;\r\n error?: TError;\r\n}\r\n","import React from 'react';\nimport cx from 'classnames';\nimport styled from 'styled-components';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport { Typography, Grid, message } from 'antd';\n\nimport MetaTags from 'components/MetaTags';\nimport UserForm from './components/UserForm';\nimport { IUserFormFields } from './components/UserForm/UserForm';\nimport { useSignupsContextValue } from 'context/SignupsContext';\nimport api, { IUserResponse } from 'config/api';\n\nconst { Text, Title } = Typography;\nconst { useBreakpoint } = Grid;\n\nconst StyledUserInfoWrapper = styled.div`\n .sub-heading {\n margin-bottom: 32px;\n }\n .custom-container {\n padding: 32px 112px;\n }\n .bs-customer-container {\n padding: 0 38px;\n }\n`;\n\nconst UserInfo: React.FC = ({ history }) => {\n const screens = useBreakpoint();\n const { setCurrentUser } = useSignupsContextValue();\n\n const onSubmit = async (\n values: IUserFormFields,\n setSubmitting: (isSubmitting: boolean) => void,\n ) => {\n const { data } = await api.post('/user', Object.assign({}, values));\n if (data.ok) {\n setSubmitting(false);\n setCurrentUser(data.user);\n history.push('/signup/step/2');\n } if (!data.ok && data.error) {\n setSubmitting(false);\n message.error(data.error.message);\n }\n }\n\n return (\n \n \n \n Get started with UBOmoney\n \n \n Tell us about yourself\n \n \n \n );\n}\n\nexport default withRouter(UserInfo);\n","import React from 'react';\nimport cx from 'classnames';\nimport styled from 'styled-components';\nimport { Tooltip, Button, Typography } from 'antd';\nimport { FileUnknownOutlined, LinkOutlined, CloseOutlined, CheckCircleOutlined } from '@ant-design/icons';\n\nconst { Text } = Typography;\n\ninterface IFileToUpload {\n isFileValid: boolean;\n filename: string;\n setFileToUpload: () => void;\n isSubmitting: boolean;\n}\n\nconst StyledFileNameWrapper = styled.div`\n .ant-typography, .file-type {\n color: rgba(255, 255, 255, 0.8) !important;\n }\n &:not(.uploading) {\n &:hover {\n .valid-indicator {\n display: none;\n }\n .ant-btn {\n display: inline-block !important;\n }\n }\n }\n`;\n\nconst StyledCloseButton = styled(Button)`\n padding: 0;\n width: auto;\n height: auto;\n line-height: 0;\n border: 0;\n .anticon {\n color: #FF4E4E !important;\n font-size: 14px;\n }\n`;\n\nconst FileToUpload: React.FC = ({ isSubmitting, isFileValid, filename, setFileToUpload }) => {\n return (\n \n {isFileValid ? : (\n \n \n \n )}\n {filename}\n {isFileValid && (\n \n )}\n }\n onClick={setFileToUpload}\n />\n \n );\n}\n\nexport default FileToUpload;\n","import React, { useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Button, Modal, Typography } from 'antd';\r\nimport { CloseOutlined } from '@ant-design/icons';\r\n\r\nconst { Title, Paragraph } = Typography;\r\n\r\nconst StyledModal = styled(Modal)`\r\n .ant-modal-header {\r\n background: #323234;\r\n border-radius: 0;\r\n padding: 32px 40px;\r\n border: 0;\r\n }\r\n .ant-modal-body {\r\n background: #323234;\r\n color: #FFF;\r\n padding: 0 40px 32px;\r\n max-height: 576px;\r\n overflow: auto;\r\n\r\n /* total width */\r\n &::-webkit-scrollbar {\r\n width: 6px !important;\r\n margin-right: 8px;\r\n }\r\n\r\n /* scrollbar itself */\r\n &::-webkit-scrollbar-thumb {\r\n background-color: #babac0 !important;\r\n border-radius: 12px !important;\r\n border: none !important;\r\n }\r\n\r\n /* set button(top and bottom of the scrollbar) */\r\n &::-webkit-scrollbar-button {\r\n display: none !important;\r\n }\r\n }\r\n .ant-modal-close {\r\n color: #BFBFBF; \r\n }\r\n`;\r\n\r\nconst TermsAndConditions = () => {\r\n const [modalState, setModalState] = useState(false);\r\n return (\r\n <>\r\n \r\n }\r\n onCancel={() => setModalState(false)}\r\n footer={false}\r\n maskClosable={false}\r\n title={Terms and conditions}\r\n >\r\n \r\n These rules form an agreement between ourselves and our members. Registering with us is taken as your acceptance of these rules.\r\n \r\n \r\n Members are fully responsible for ensuring contact and payment details are accurate at all times.\r\n \r\n \r\n We accept bets from those aged 21 years and over only, and may ask for proof of age at any point. Members may have their account suspended until such proof is provided.\r\n \r\n \r\n Members must keep their sensitive details confidential at all times. If you believe your details are no longer confidential, you must inform us immediately, as any account activity is your responsibility.\r\n \r\n \r\n Placed and confirmed bets may not be changed or cancelled.\r\n \r\n \r\n Members are responsible for ensuring placing bets is permitted in their country of residence.\r\n \r\n \r\n Members can only place bets on our website. Attempting to place a bet in any other way will not be accepted.\r\n \r\n \r\n Bets or any part of a bet may be cancelled and/or refused at any point before the event in question without notice.\r\n \r\n \r\n We will take all action necessary to prevent any form of betting fraud. Any member or group of members found to be placing bets in such a way as to defraud us will have their accounts suspended and bets voided, whether bets are settled or not.\r\n \r\n \r\n We may void bets that have been accepted when there were insufficient funds in the account to cover the bet, Payments that are subsequently cancelled by a payment processor will result in cancelled bets.\r\n \r\n \r\n Any funds credited to a member account in error should be reported to us immediately. Any winnings derived from such funds will be voided and reclaimed by us.\r\n \r\n \r\n These Terms and Conditions are presented in English. In the case of any ambiguity of these Terms and Conditions in other languages, the English version shall prevail.\r\n \r\n \r\n Multiple accounts are not permitted. We reserve the right to void all bets and close any accounts found to be duplicated.\r\n \r\n \r\n Bets may be placed up to the advertised start time. Any bets placed and accepted after the event start time shall be deemed as a non-runner.\r\n \r\n \r\n Bets on different selections within the same event where the outcome of one affects or is affected by another will not be accepted and will be voided in the case of accidental acceptance.\r\n \r\n \r\n 'If Bets' will be settled according to the order in which they appear on the betting slip until assigned monies have been used. In the case of these funds being insufficient to complete or continue the bet, the selection in question will be settled according to the amount available.\r\n \r\n \r\n We will not be held responsible for any damages/losses resulting from use of our website or related content including operation or transmission delays or interruptions, loss/corruption of data, line/communication failure, misuse of website or associated content, or any errors/omissions on the website or associated content.\r\n \r\n \r\n We may offer lower odds on some bet types than is offered on singles.\r\n \r\n \r\n Members are advised to maintain records of all transactions, game rules, cancellations rules and payment services for future reference.\r\n \r\n \r\n Bets are processed and deemed active once they have been placed and acceptance confirmed.\r\n \r\n \r\n Every effort is made to ensure all information displayed on the website is accurate, but should be used only as a guide. We cannot be held responsible for any errors in event details. Members are advised to consult our Betting Rules for details of bet settlements in such circumstances.\r\n \r\n \r\n Members can place bets as soon as funds have been successfully added to their account.\r\n \r\n \r\n Members accept that we may use first name, username and country of residence of significant winners for advertising purposes. In all other cases, members' details will remain confidential.\r\n \r\n \r\n Bets on events that are subsequently cancelled will be voided and monies refunded.\r\n \r\n \r\n Member offers are limited to one per person, family, address, email, phone number, payment account number and computer, We reserve the right to withdraw offers from any member or group of members.\r\n \r\n \r\n Member account is deemed as unique regarding your name and personal details, and may only be used by you. It shall not be duplicated under any circumstances.\r\n \r\n \r\n In the case of duplicated accounts, we may close such an account and:\r\n \r\n
    \r\n
  • Refund all deposits less voided winnings
  • \r\n
  • Reclaim any other funds from any other duplicate accounts
  • \r\n
\r\n \r\n In the case of bets placed on incorrect prices, bets will still stand but will be settled at the revised price.\r\n \r\n \r\n These terms and conditions will be updated from time to time and it is the members' responsibility to check regularly for such updates.\r\n \r\n \r\n Monies deposited to us are protected in the event of our insolvency with such monies being held by our bank in designated accounts.\r\n \r\n \r\n UBOmoney may contact me via email about offers, information or promotions which may be of interest to me.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TermsAndConditions;\r\n","import * as Yup from 'yup';\nimport { UploadFile } from 'antd/lib/upload/interface';\n\nconst MAX_FILE_SIZE = 10; // mb\nexport const SUPPORTED_FILE_EXTENSIONS = ['JPEG', 'JPG', 'PNG', 'PDF', 'TIF'];\n\nexport const legalitiesFormSchema = Yup.object().shape({\n fileToUpload: Yup.object()\n .required('You must upload a valid government ID')\n .test('File type checker', 'You are uploading an unsupported file type.', (fileToUpload: UploadFile) => {\n if (fileToUpload) {\n const fileExtension = fileToUpload.name.split('.').pop()?.toUpperCase();\n return fileExtension ? SUPPORTED_FILE_EXTENSIONS.includes(fileExtension) : false;\n }\n return false;\n })\n .test('File size checker', 'File must not exceed 10mb.', (fileToUpload: UploadFile) => {\n return fileToUpload ? (fileToUpload.size / 1024 / 1024) <= MAX_FILE_SIZE : false;\n }),\n termsAndConditions: Yup.boolean()\n .oneOf([true], 'Please read terms and conditions, field must be accepted.')\n});\n","import React from 'react';\n\nexport const LockIcon = () => (\n \n \n \n);\n\nexport const SmallLockIcon = () => (\n \n \n \n);\n","import React from 'react';\nimport { withFormik, FormikProps } from 'formik';\nimport cx from 'classnames';\nimport styled from 'styled-components';\nimport { Typography, Upload, Button, Row, Col, Grid, Checkbox, Form } from 'antd';\nimport { UploadFile } from 'antd/lib/upload/interface';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport FileToUpload from './components/FileToUpload';\nimport TermsAndCondition from './components/TermsAndConditions';\nimport { legalitiesFormSchema, SUPPORTED_FILE_EXTENSIONS } from './validation';\nimport { LockIcon, SmallLockIcon } from 'utils/iconUtils';\n\nconst { useBreakpoint } = Grid;\nconst { Paragraph, Text } = Typography;\n\nexport interface ILegalitiesFormFields {\n termsAndConditions: boolean;\n fileToUpload: UploadFile | undefined;\n}\n\ninterface IExternalProps {\n onSubmit: (\n file: UploadFile,\n setSubmitting: (isSubmitting: boolean) => void,\n ) => void,\n}\n\nconst StyledButton = styled(Button)`\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.3);\n border: 1px solid rgba(255, 255, 255, 0.5);\n`;\n\nconst StyledCheckboxWrapper = styled.div`\n padding: 24px 0;\n .ant-checkbox-wrapper {\n span {\n padding-right: 4px;\n color: #FFF;\n &.ant-checkbox {\n padding-right: 0;\n .ant-checkbox-inner {\n width: 18px;\n height: 18px;\n background-color: #323234;\n border: 2px solid #d9d9d9;\n }\n &.ant-checkbox-checked {\n .ant-checkbox-inner {\n background-color: #1B1D21;\n border-color: #1B1D21 !important;\n &::after {\n border-color: #FFF;\n }\n }\n }\n }\n }\n }\n .ant-btn {\n color: #F3AF2C;\n span {\n text-decoration-line: underline;\n }\n }\n`;\n\nconst LegalitiesForm: React.FC> = ({\n values, isSubmitting, errors, touched, handleSubmit,\n setFieldValue, setFieldTouched, handleChange,\n}) => {\n\n const screens = useBreakpoint();\n const DerivedLockIcon = screens.xs ? SmallLockIcon : LockIcon;\n const { fileToUpload, termsAndConditions } = values;\n\n return (\n
\n {!fileToUpload && (\n \n
\n \n
\n All personal information shared is secured via SSL.\n \n )}\n \n \n Valid government ID\n \n \n
\n {fileToUpload ? (\n {\n setFieldValue('fileToUpload', undefined);\n }}\n />\n ) : (\n `.${x}`.toLowerCase()).join(',')}\n name=\"fileToUpload\"\n onChange={info => {\n setFieldValue('fileToUpload', info.file);\n if (!touched.fileToUpload) setFieldTouched('fileToUpload');\n }}\n customRequest={() => {}}\n >\n \n Upload\n \n \n )}\n
\n \n \n {(touched.fileToUpload && errors.fileToUpload) && (\n
{errors.fileToUpload}
\n )}\n \n {\n handleChange(e);\n if (!touched.termsAndConditions) setFieldTouched('termsAndConditions');\n }}\n >\n I have read and accept the\n \n \n {(touched.termsAndConditions && errors.termsAndConditions && !termsAndConditions) && (\n
{errors.termsAndConditions}
\n )}\n
\n \n \n );\n}\n\nexport default withFormik({\n validationSchema: legalitiesFormSchema,\n mapPropsToValues: () => ({\n fileToUpload: undefined,\n termsAndConditions: false,\n }),\n handleSubmit: (values, formikBag) => {\n if (values.fileToUpload) {\n formikBag.props.onSubmit(values.fileToUpload, formikBag.setSubmitting);\n }\n },\n displayName: 'LegalitiesForm',\n})(LegalitiesForm);\n","import React from 'react';\nimport cx from 'classnames';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { Typography, message, Grid } from 'antd';\nimport { UploadFile } from 'antd/lib/upload/interface';\n\nimport MetaTags from 'components/MetaTags';\nimport LegalitiesForm from './components/LegalitiesForm';\nimport { useSignupsContextValue } from 'context/SignupsContext';\nimport api, { IUserResponse } from 'config/api';\n\nconst { Text, Title, Paragraph } = Typography;\nconst { useBreakpoint } = Grid;\n\nconst StyledLegalitiesWrapper = styled.div`\n .sub-heading {\n margin-bottom: 32px;\n }\n .custom-container {\n padding: 32px 48px;\n }\n`;\n\nconst Legalities: React.FC = ({ history }) => {\n const screens = useBreakpoint();\n const { airtableUser, setCurrentUser } = useSignupsContextValue();\n\n const onSubmit = async (\n file: UploadFile,\n setSubmitting: (isSubmitting: boolean) => void,\n ) => {\n try {\n const formData = new FormData();\n formData.append('avatar', file.originFileObj as Blob);\n const { data } = await api.patch(`/user/${airtableUser?.id}`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n });\n if (data.ok) {\n setSubmitting(false);\n setCurrentUser(data.user);\n history.push('/signup/step/3');\n } else if (!data.ok && data.error) {\n setSubmitting(false);\n message.error(data.error.message);\n }\n } catch (e) {\n alert(JSON.stringify(e));\n }\n }\n\n return (\n \n \n \n Almost there!\n \n \n Making sure it’s you\n \n As part of our verification process, we require new players to submit one valid government ID. This helps us confirm that you are of legal age.\n \n \n The government ID you submit must include the following: Full Name, Address, Date of Birth, and Photo. An example of this would be a Drivers License or a Personal ID card\n \n \n Please note that ID’s such as a Passport are not accepted as they do not have an address.\n \n \n Please note that government employees are not allowed to register as players on UBOmoney.\n \n \n \n \n );\n}\n\nexport default withRouter(Legalities);\n","import React, { useEffect, useState } from 'react';\r\nimport cx from 'classnames';\r\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\r\nimport styled from 'styled-components';\r\nimport { Typography, message, Spin, Grid, Button } from 'antd';\r\nimport queryString from 'query-string';\r\n\r\nimport MetaTags from 'components/MetaTags';\r\nimport { LoadingIcon } from 'components/Spinner/Spinner';\r\nimport { useSignupsContextValue } from 'context/SignupsContext';\r\nimport api, { IUserResponse } from 'config/api'\r\n\r\nconst { Text, Title, Paragraph } = Typography;\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst StyledConfirmationWrapper = styled.div`\r\n .sub-heading {\r\n margin-bottom: 32px;\r\n }\r\n .custom-container {\r\n padding: 32px 48px;\r\n }\r\n .ant-btn > span {\r\n color: #F3AF2C !important;\r\n }\r\n`;\r\n\r\nconst StyledText = styled(Text)`\r\n color: #F3AF2C !important;\r\n`;\r\n\r\nconst Confirmation: React.FC = ({ location, history }) => {\r\n const screens = useBreakpoint();\r\n const queryParams = queryString.parse(location.search);\r\n const [resendingState, setResendingState] = useState(false);\r\n const [loadingState, setLoadingState] = useState(Boolean(queryParams.code) || false);\r\n const { airtableUser } = useSignupsContextValue();\r\n\r\n useEffect(() => {\r\n // if (!airtableUser) return setCurrentUser(null);\r\n if (airtableUser && !airtableUser.avatar) return history.replace('/signup/step/2');\r\n if (queryParams.code) {\r\n emailVerified();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const emailVerified = async () => {\r\n setLoadingState(true);\r\n const { data } = await api.post(`/verify?code=${queryParams.code}`);\r\n if (data.ok) {\r\n setLoadingState(false);\r\n history.push('/signup/step/4');\r\n } else if (!data.ok && data.error) {\r\n setLoadingState(false);\r\n message.error(data.error.message);\r\n }\r\n }\r\n\r\n const resendEmail = async () => {\r\n setResendingState(true);\r\n const { data } = await api.post(`/resend?email=${airtableUser?.email}`);\r\n if (data.ok) {\r\n message.success('Confirmation email has been resent.');\r\n } else if (!data.ok && data.error) {\r\n message.error(data.error.message);\r\n }\r\n setResendingState(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Welcome to UBOmoney!\r\n \r\n \r\n \r\n Please confirm your email\r\n \r\n We’ll be sending a confirmation email to {airtableUser?.email}. Please make sure that you have included a valid email address, as this is how you will receive your login details.\r\n \r\n \r\n {airtableUser && (\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRouter(Confirmation);\r\n","import React, { useEffect } from 'react';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport cx from 'classnames';\nimport styled from 'styled-components';\nimport { Typography, Grid } from 'antd';\n\nimport MetaTags from 'components/MetaTags';\nimport { useSignupsContextValue } from 'context/SignupsContext';\n\nconst { Text, Title, Paragraph } = Typography;\nconst { useBreakpoint } = Grid;\n\nconst StyledSuccessWrapper = styled.div`\n .sub-heading {\n margin-bottom: 32px;\n }\n .custom-container {\n padding: 32px 48px;\n }\n`;\n\nconst Success: React.FC = () => {\n const screens = useBreakpoint();\n const { setCurrentUser } = useSignupsContextValue();\n\n useEffect(() => {\n // if (!airtableUser?.email_verification) history.replace('/signup/step/3');\n setCurrentUser(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n \n Welcome to UBOmoney!\n \n \n Registration successfully submitted\n \n Thank you for applying for a UBOmoney account.\n \n \n Your application is under review. We will be in touch via email to inform you about its outcome.\n \n \n \n );\n}\n\nexport default withRouter(Success);\n","import { TUser } from 'context/SignupsContext';\nimport { isDev } from 'config/env';\n\nconst inspectlet = isDev ? null : (window as any).__insp;\n\nexport const inspectletTrackPage = (url: string) => {\n if (inspectlet) {\n inspectlet.push(['pageUrl', url]);\n }\n}\n\nexport const inspectletIdentify = (user: TUser) => {\n if (inspectlet) {\n inspectlet.push(['identify', user.email]);\n }\n}\n\nexport const inspectletUpdateUserStep = (user: TUser, step: number) => {\n if (inspectlet) {\n inspectlet.push([\n 'tagSession', Object.assign(user, {\n step,\n }),\n ]);\n }\n}\n","import React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport { Tabs } from 'antd';\n\nimport AppLayout from 'components/AppLayout';\nimport MetaTags from 'components/MetaTags';\nimport CustomSteps from './components/CustomSteps';\nimport UserInfo from './components/UserInfo';\nimport Legalities from './components/Legalities';\nimport Confirmation from './components/Confirmation';\nimport Success from './components/Success';\nimport { useSignupsContextValue } from 'context/SignupsContext';\nimport { inspectletTrackPage, inspectletIdentify, inspectletUpdateUserStep } from 'config/inspectlet';\n\nconst { TabPane } = Tabs;\n\nconst SIGNUP_STEPS = [{\n title: 'USER_INFO',\n component: ,\n}, {\n title: 'LEGALITIES',\n component: ,\n}, {\n title: 'CONFIRMATION',\n component: ,\n}, {\n title: 'SUCCESS',\n component: ,\n}];\n\nconst StyledTabs = styled(Tabs)`\n .ant-tabs-nav {\n display: none;\n }\n`;\n\nconst Signup: React.FC> = ({ match, history, location }) => {\n const { airtableUser } = useSignupsContextValue();\n const [currentStep, setCurrentStep] = useState(0);\n\n useEffect(() => {\n if ([2].includes(+match.params.step_num) && !airtableUser) {\n history.replace('/signup/step/1');\n } else {\n setCurrentStep(+match.params.step_num - 1);\n }\n if (airtableUser) inspectletUpdateUserStep(airtableUser, +match.params.step_num);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [match.params.step_num, airtableUser]);\n\n useEffect(() => {\n if (window) inspectletTrackPage(window.location.href);\n if (airtableUser) inspectletIdentify(airtableUser)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname])\n\n return (\n \n \n
\n \n \n {SIGNUP_STEPS.map(({ title, component }, idx) => (\n \n
\n {component}\n
\n
\n ))}\n
\n
\n
\n )\n}\n\nexport default withRouter(Signup);\n","import React from 'react';\nimport { Switch, Route, Redirect } from 'react-router-dom';\n\nimport Signup from './Signup'\nimport FourOhFour from '../FourOhFour';\nimport { SignupsContextProvider } from 'context/SignupsContext';\n\n// https://stackoverflow.com/questions/47369023/react-router-v4-allow-only-certain-parameters-in-url\n\nexport default () => (\n \n \n \n \n \n \n \n);\n"],"sourceRoot":""}