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

Configure Feed

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

at d9e37a222a218bc37e7e7e34c8a438f173d54840 54 lines 1.7 kB view raw
1import React from 'react' 2import {Plural, Trans} from '@lingui/macro' 3import {useFocusEffect} from '@react-navigation/native' 4 5import { 6 type CommonNavigatorParams, 7 type NativeStackScreenProps, 8} from '#/lib/routes/types' 9import {makeRecordUri} from '#/lib/strings/url-helpers' 10import {usePostQuery} from '#/state/queries/post' 11import {useSetMinimalShellMode} from '#/state/shell' 12import {PostLikedBy as PostLikedByComponent} from '#/view/com/post-thread/PostLikedBy' 13import * as Layout from '#/components/Layout' 14 15type Props = NativeStackScreenProps<CommonNavigatorParams, 'PostLikedBy'> 16export const PostLikedByScreen = ({route}: Props) => { 17 const setMinimalShellMode = useSetMinimalShellMode() 18 const {name, rkey} = route.params 19 const uri = makeRecordUri(name, 'app.bsky.feed.post', rkey) 20 const {data: post} = usePostQuery(uri) 21 22 let likeCount 23 if (post) { 24 likeCount = post.likeCount 25 } 26 27 useFocusEffect( 28 React.useCallback(() => { 29 setMinimalShellMode(false) 30 }, [setMinimalShellMode]), 31 ) 32 33 return ( 34 <Layout.Screen> 35 <Layout.Header.Outer> 36 <Layout.Header.BackButton /> 37 <Layout.Header.Content> 38 {post && ( 39 <> 40 <Layout.Header.TitleText> 41 <Trans>Liked By</Trans> 42 </Layout.Header.TitleText> 43 <Layout.Header.SubtitleText> 44 <Plural value={likeCount ?? 0} one="# like" other="# likes" /> 45 </Layout.Header.SubtitleText> 46 </> 47 )} 48 </Layout.Header.Content> 49 <Layout.Header.Slot /> 50 </Layout.Header.Outer> 51 <PostLikedByComponent uri={uri} /> 52 </Layout.Screen> 53 ) 54}