Bluesky app fork with some witchin' additions 💫
1import {msg} from '@lingui/core/macro'
2import {useLingui} from '@lingui/react'
3
4import {useSetTitle} from '#/lib/hooks/useSetTitle'
5import {
6 type CommonNavigatorParams,
7 type NativeStackScreenProps,
8} from '#/lib/routes/types'
9import {makeRecordUri} from '#/lib/strings/url-helpers'
10import {useProfileQuery} from '#/state/queries/profile'
11import {useResolveDidQuery} from '#/state/queries/resolve-uri'
12import {PostThread} from '#/screens/PostThread'
13import * as Layout from '#/components/Layout'
14
15type Props = NativeStackScreenProps<CommonNavigatorParams, 'PostThread'>
16export function PostThreadScreen({route}: Props) {
17 const {_} = useLingui()
18 const {name, rkey} = route.params
19 const uri = makeRecordUri(name, 'app.bsky.feed.post', rkey)
20
21 const {data: resolvedDid} = useResolveDidQuery(name)
22 const {data: profile} = useProfileQuery({did: resolvedDid})
23
24 useSetTitle(profile ? _(msg`Post by @${profile.handle}`) : undefined)
25
26 return (
27 <Layout.Screen testID="postThreadScreen">
28 <PostThread uri={uri} />
29 </Layout.Screen>
30 )
31}