mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1import React from 'react'
2import {View} from 'react-native'
3import {msg, Trans} from '@lingui/macro'
4import {useLingui} from '@lingui/react'
5
6import {useLoggedOutViewControls} from '#/state/shell/logged-out'
7import {useCloseAllActiveElements} from '#/state/util'
8import {usePalette} from 'lib/hooks/usePalette'
9import {s} from 'lib/styles'
10import {Button} from '#/view/com/util/forms/Button'
11import {Text} from '#/view/com/util/text/Text'
12import {Logo} from '#/view/icons/Logo'
13import {atoms as a} from '#/alf'
14import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
15import {Link} from '#/components/Link'
16
17let NavSignupCard = ({}: {}): React.ReactNode => {
18 const {_} = useLingui()
19 const pal = usePalette('default')
20 const {requestSwitchToAccount} = useLoggedOutViewControls()
21 const closeAllActiveElements = useCloseAllActiveElements()
22
23 const showSignIn = React.useCallback(() => {
24 closeAllActiveElements()
25 requestSwitchToAccount({requestedAccount: 'none'})
26 }, [requestSwitchToAccount, closeAllActiveElements])
27
28 const showCreateAccount = React.useCallback(() => {
29 closeAllActiveElements()
30 requestSwitchToAccount({requestedAccount: 'new'})
31 // setShowLoggedOut(true)
32 }, [requestSwitchToAccount, closeAllActiveElements])
33
34 return (
35 <View
36 style={{
37 alignItems: 'flex-start',
38 paddingTop: 6,
39 marginBottom: 24,
40 }}>
41 <Link to="/" label="Bluesky - Home">
42 <Logo width={48} />
43 </Link>
44
45 <View style={{paddingTop: 18}}>
46 <Text type="md-bold" style={[pal.text]}>
47 <Trans>Sign up or sign in to join the conversation</Trans>
48 </Text>
49 </View>
50
51 <View
52 style={{
53 flexDirection: 'row',
54 flexWrap: 'wrap',
55 paddingTop: 12,
56 gap: 8,
57 }}>
58 <Button
59 onPress={showCreateAccount}
60 accessibilityHint={_(msg`Sign up`)}
61 accessibilityLabel={_(msg`Sign up`)}>
62 <Text type="md" style={[{color: 'white'}, s.bold]}>
63 <Trans>Sign up</Trans>
64 </Text>
65 </Button>
66 <Button
67 type="default"
68 onPress={showSignIn}
69 accessibilityHint={_(msg`Sign in`)}
70 accessibilityLabel={_(msg`Sign in`)}>
71 <Text type="md" style={[pal.text, s.bold]}>
72 <Trans>Sign in</Trans>
73 </Text>
74 </Button>
75 </View>
76
77 <View style={[a.pt_2xl, a.w_full]}>
78 <AppLanguageDropdown />
79 </View>
80 </View>
81 )
82}
83NavSignupCard = React.memo(NavSignupCard)
84export {NavSignupCard}