Bluesky app fork with some witchin' additions 馃挮
0
fork

Configure Feed

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

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