Bluesky app fork with some witchin' additions 馃挮
witchsky.app
bluesky
fork
client
1import {msg} from '@lingui/core/macro'
2import {useLingui} from '@lingui/react'
3import {Trans} from '@lingui/react/macro'
4import {type NativeStackScreenProps} from '@react-navigation/native-stack'
5
6import {type AllNavigatorParams} from '#/lib/routes/types'
7import {PostFeed} from '#/view/com/posts/PostFeed'
8import {EmptyState} from '#/view/com/util/EmptyState'
9import {EditBig_Stroke1_Corner0_Rounded as EditIcon} from '#/components/icons/EditBig'
10import * as Layout from '#/components/Layout'
11import {ListFooter} from '#/components/Lists'
12
13type Props = NativeStackScreenProps<
14 AllNavigatorParams,
15 'NotificationsActivityList'
16>
17export function NotificationsActivityListScreen({
18 route: {
19 params: {posts},
20 },
21}: Props) {
22 const uris = decodeURIComponent(posts)
23 const {_} = useLingui()
24
25 return (
26 <Layout.Screen testID="NotificationsActivityListScreen">
27 <Layout.Header.Outer>
28 <Layout.Header.BackButton />
29 <Layout.Header.Content>
30 <Layout.Header.TitleText>
31 <Trans>Notifications</Trans>
32 </Layout.Header.TitleText>
33 </Layout.Header.Content>
34 <Layout.Header.Slot />
35 </Layout.Header.Outer>
36 <PostFeed
37 feed={`posts|${uris}`}
38 disablePoll
39 renderEmptyState={() => (
40 <EmptyState
41 icon={EditIcon}
42 iconSize="2xl"
43 message={_(msg`No posts here`)}
44 />
45 )}
46 renderEndOfFeed={() => <ListFooter />}
47 />
48 </Layout.Screen>
49 )
50}