mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
1import React from 'react'
2import {StyleSheet, View} from 'react-native'
3import {
4 FontAwesomeIcon,
5 FontAwesomeIconStyle,
6} from '@fortawesome/react-native-fontawesome'
7import {Trans} from '@lingui/macro'
8import {useNavigation} from '@react-navigation/native'
9
10import {usePalette} from 'lib/hooks/usePalette'
11import {MagnifyingGlassIcon} from 'lib/icons'
12import {NavigationProp} from 'lib/routes/types'
13import {s} from 'lib/styles'
14import {isWeb} from 'platform/detection'
15import {Button} from '../util/forms/Button'
16import {Text} from '../util/text/Text'
17
18export function FollowingEmptyState() {
19 const pal = usePalette('default')
20 const palInverted = usePalette('inverted')
21 const navigation = useNavigation<NavigationProp>()
22
23 const onPressFindAccounts = React.useCallback(() => {
24 if (isWeb) {
25 navigation.navigate('Search', {})
26 } else {
27 navigation.navigate('SearchTab')
28 navigation.popToTop()
29 }
30 }, [navigation])
31
32 const onPressDiscoverFeeds = React.useCallback(() => {
33 navigation.navigate('Feeds')
34 }, [navigation])
35
36 return (
37 <View style={styles.container}>
38 <View style={styles.inner}>
39 <View style={styles.iconContainer}>
40 <MagnifyingGlassIcon style={[styles.icon, pal.text]} size={62} />
41 </View>
42 <Text type="xl-medium" style={[s.textCenter, pal.text]}>
43 <Trans>
44 Your following feed is empty! Follow more users to see what's
45 happening.
46 </Trans>
47 </Text>
48 <Button
49 type="inverted"
50 style={styles.emptyBtn}
51 onPress={onPressFindAccounts}>
52 <Text type="lg-medium" style={palInverted.text}>
53 <Trans>Find accounts to follow</Trans>
54 </Text>
55 <FontAwesomeIcon
56 icon="angle-right"
57 style={palInverted.text as FontAwesomeIconStyle}
58 size={14}
59 />
60 </Button>
61
62 <Text type="xl-medium" style={[s.textCenter, pal.text, s.mt20]}>
63 <Trans>You can also discover new Custom Feeds to follow.</Trans>
64 </Text>
65 <Button
66 type="inverted"
67 style={[styles.emptyBtn, s.mt10]}
68 onPress={onPressDiscoverFeeds}>
69 <Text type="lg-medium" style={palInverted.text}>
70 <Trans>Discover new custom feeds</Trans>
71 </Text>
72 <FontAwesomeIcon
73 icon="angle-right"
74 style={palInverted.text as FontAwesomeIconStyle}
75 size={14}
76 />
77 </Button>
78 </View>
79 </View>
80 )
81}
82const styles = StyleSheet.create({
83 container: {
84 height: '100%',
85 flexDirection: 'row',
86 justifyContent: 'center',
87 paddingVertical: 40,
88 paddingHorizontal: 30,
89 },
90 inner: {
91 width: '100%',
92 maxWidth: 460,
93 },
94 iconContainer: {
95 marginBottom: 16,
96 },
97 icon: {
98 marginLeft: 'auto',
99 marginRight: 'auto',
100 },
101 emptyBtn: {
102 marginVertical: 20,
103 flexDirection: 'row',
104 alignItems: 'center',
105 justifyContent: 'space-between',
106 paddingVertical: 18,
107 paddingHorizontal: 24,
108 borderRadius: 30,
109 },
110})