diff options
Diffstat (limited to 'src/view/screens/content/PostRepostedBy.tsx')
-rw-r--r-- | src/view/screens/content/PostRepostedBy.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/view/screens/content/PostRepostedBy.tsx b/src/view/screens/content/PostRepostedBy.tsx new file mode 100644 index 000000000..000c1a7fc --- /dev/null +++ b/src/view/screens/content/PostRepostedBy.tsx @@ -0,0 +1,41 @@ +import React, {useLayoutEffect} from 'react' +import {TouchableOpacity} from 'react-native' +import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {makeRecordUri} from '../../lib/strings' +import {Shell} from '../../shell' +import type {RootTabsScreenProps} from '../../routes/types' +import {PostRepostedBy as PostRepostedByComponent} from '../../com/post-thread/PostRepostedBy' + +export const PostRepostedBy = ({ + navigation, + route, +}: RootTabsScreenProps<'PostRepostedBy'>) => { + const {name, recordKey} = route.params + const uri = makeRecordUri(name, 'blueskyweb.xyz:Posts', recordKey) + + useLayoutEffect(() => { + navigation.setOptions({ + headerShown: true, + headerTitle: 'Reposted By', + headerLeft: () => ( + <TouchableOpacity onPress={() => navigation.goBack()}> + <FontAwesomeIcon icon="arrow-left" /> + </TouchableOpacity> + ), + }) + }, [navigation]) + + const onNavigateContent = (screen: string, props: Record<string, string>) => { + // @ts-ignore it's up to the callers to supply correct params -prf + navigation.push(screen, props) + } + + return ( + <Shell> + <PostRepostedByComponent + uri={uri} + onNavigateContent={onNavigateContent} + /> + </Shell> + ) +} |