mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at samuel/exp-cli 54 lines 1.9 kB view raw
1import React from 'react' 2import {Plural} from '@lingui/macro' 3import {useFocusEffect} from '@react-navigation/native' 4 5import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types' 6import {sanitizeDisplayName} from '#/lib/strings/display-names' 7import {useProfileQuery} from '#/state/queries/profile' 8import {useResolveDidQuery} from '#/state/queries/resolve-uri' 9import {useSetMinimalShellMode} from '#/state/shell' 10import {ProfileFollowers as ProfileFollowersComponent} from '#/view/com/profile/ProfileFollowers' 11import * as Layout from '#/components/Layout' 12 13type Props = NativeStackScreenProps<CommonNavigatorParams, 'ProfileFollowers'> 14export const ProfileFollowersScreen = ({route}: Props) => { 15 const {name} = route.params 16 const setMinimalShellMode = useSetMinimalShellMode() 17 18 const {data: resolvedDid} = useResolveDidQuery(name) 19 const {data: profile} = useProfileQuery({ 20 did: resolvedDid, 21 }) 22 23 useFocusEffect( 24 React.useCallback(() => { 25 setMinimalShellMode(false) 26 }, [setMinimalShellMode]), 27 ) 28 29 return ( 30 <Layout.Screen testID="profileFollowersScreen"> 31 <Layout.Header.Outer> 32 <Layout.Header.BackButton /> 33 <Layout.Header.Content> 34 {profile && ( 35 <> 36 <Layout.Header.TitleText> 37 {sanitizeDisplayName(profile.displayName || profile.handle)} 38 </Layout.Header.TitleText> 39 <Layout.Header.SubtitleText> 40 <Plural 41 value={profile.followersCount ?? 0} 42 one="# follower" 43 other="# followers" 44 /> 45 </Layout.Header.SubtitleText> 46 </> 47 )} 48 </Layout.Header.Content> 49 <Layout.Header.Slot /> 50 </Layout.Header.Outer> 51 <ProfileFollowersComponent name={name} /> 52 </Layout.Screen> 53 ) 54}