Add waitlist signup

This commit is contained in:
Paul Frazee 2023-03-14 13:30:20 -05:00
parent b838c786e0
commit 617d93fb48
6 changed files with 199 additions and 8 deletions

View file

@ -1,10 +1,10 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
import {Text} from 'view/com/util/text/Text'
import {TextLink} from '../util/Link'
import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
import {s, colors} from 'lib/styles'
import {usePalette} from 'lib/hooks/usePalette'
import {useStores} from 'state/index'
import {CenteredView} from '../util/Views'
export const SplashScreen = ({
@ -15,6 +15,12 @@ export const SplashScreen = ({
onPressCreateAccount: () => void
}) => {
const pal = usePalette('default')
const store = useStores()
const onPressWaitlist = React.useCallback(() => {
store.shell.openModal({name: 'waitlist'})
}, [store])
return (
<CenteredView style={[styles.container, pal.view]}>
<View testID="noSessionView" style={[styles.containerInner, pal.border]}>
@ -42,12 +48,11 @@ export const SplashScreen = ({
style={[styles.notice, pal.textLight]}
lineHeight={1.3}>
Bluesky will launch soon.{' '}
<TextLink
type="xl"
text="Join the waitlist"
href="#"
style={pal.link}
/>{' '}
<TouchableOpacity onPress={onPressWaitlist}>
<Text type="xl" style={pal.link}>
Join the waitlist
</Text>
</TouchableOpacity>{' '}
to try the beta before it's publicly available.
</Text>
</ErrorBoundary>

View file

@ -11,9 +11,16 @@ import {usePalette} from 'lib/hooks/usePalette'
import {TextInput} from '../util/TextInput'
import {Policies} from './Policies'
import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
import {useStores} from 'state/index'
export const Step2 = observer(({model}: {model: CreateAccountModel}) => {
const pal = usePalette('default')
const store = useStores()
const onPressWaitlist = React.useCallback(() => {
store.shell.openModal({name: 'waitlist'})
}, [store])
return (
<View>
<StepHeader step="2" title="Your account" />
@ -36,7 +43,11 @@ export const Step2 = observer(({model}: {model: CreateAccountModel}) => {
{!model.inviteCode && model.isInviteCodeRequired ? (
<Text>
Don't have an invite code?{' '}
<TextLink text="Join the waitlist" href="#" style={pal.link} /> to try
<TouchableOpacity onPress={onPressWaitlist}>
<Text type="xl" style={pal.link}>
Join the waitlist
</Text>
</TouchableOpacity>{' '}
the beta before it's publicly available.
</Text>
) : (