import React from 'react' import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native' import {observer} from 'mobx-react-lite' import {CreateAccountModel} from 'state/models/ui/create-account' import {Text} from 'view/com/util/text/Text' import {DateInput} from 'view/com/util/forms/DateInput' import {StepHeader} from './StepHeader' import {s} from 'lib/styles' import {usePalette} from 'lib/hooks/usePalette' import {TextInput} from '../util/TextInput' import {Policies} from './Policies' import {ErrorMessage} from 'view/com/util/error/ErrorMessage' import {isWeb} from 'platform/detection' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useModalControls} from '#/state/modals' /** STEP 2: Your account * @field Invite code or waitlist * @field Email address * @field Email address * @field Email address * @field Password * @field Birth date * @readonly Terms of service & privacy policy */ export const Step2 = observer(function Step2Impl({ model, }: { model: CreateAccountModel }) { const pal = usePalette('default') const {_} = useLingui() const {openModal} = useModalControls() const onPressWaitlist = React.useCallback(() => { openModal({name: 'waitlist'}) }, [openModal]) return ( {model.isInviteCodeRequired && ( Invite code )} {!model.inviteCode && model.isInviteCodeRequired ? ( Don't have an invite code?{' '} Join the waitlist. ) : ( <> Email address Password Your birth date {model.serviceDescription && ( )} )} {model.error ? ( ) : undefined} ) }) const styles = StyleSheet.create({ error: { borderRadius: 6, marginTop: 10, }, dateInputButton: { borderWidth: 1, borderRadius: 6, paddingVertical: 14, }, // @ts-expect-error: Suppressing error due to incomplete `ViewStyle` type definition in react-native-web, missing `cursor` prop as discussed in https://github.com/necolas/react-native-web/issues/832. touchable: { ...(isWeb && {cursor: 'pointer'}), }, })