forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {View} from 'react-native'
2import {Trans} from '@lingui/react/macro'
3
4import {
5 type AllNavigatorParams,
6 type NativeStackScreenProps,
7} from '#/lib/routes/types'
8import {useNotificationSettingsQuery} from '#/state/queries/notifications/settings'
9import {atoms as a} from '#/alf'
10import {Admonition} from '#/components/Admonition'
11import {LikeRepost_Stroke2_Corner2_Rounded as LikeRepostIcon} from '#/components/icons/Heart2'
12import * as Layout from '#/components/Layout'
13import * as SettingsList from '../components/SettingsList'
14import {ItemTextWithSubtitle} from './components/ItemTextWithSubtitle'
15import {PreferenceControls} from './components/PreferenceControls'
16
17type Props = NativeStackScreenProps<
18 AllNavigatorParams,
19 'LikesOnRepostsNotificationSettings'
20>
21export function LikesOnRepostsNotificationSettingsScreen({}: Props) {
22 const {data: preferences, isError} = useNotificationSettingsQuery()
23
24 return (
25 <Layout.Screen>
26 <Layout.Header.Outer>
27 <Layout.Header.BackButton />
28 <Layout.Header.Content>
29 <Layout.Header.TitleText>
30 <Trans>Notifications</Trans>
31 </Layout.Header.TitleText>
32 </Layout.Header.Content>
33 <Layout.Header.Slot />
34 </Layout.Header.Outer>
35 <Layout.Content>
36 <SettingsList.Container>
37 <SettingsList.Item style={[a.align_start]}>
38 <SettingsList.ItemIcon icon={LikeRepostIcon} />
39 <ItemTextWithSubtitle
40 bold
41 titleText={<Trans>Likes of your reposts</Trans>}
42 subtitleText={
43 <Trans>
44 Get notifications when people like posts that you've reposted.
45 </Trans>
46 }
47 />
48 </SettingsList.Item>
49 {isError ? (
50 <View style={[a.px_lg, a.pt_md]}>
51 <Admonition type="error">
52 <Trans>Failed to load notification settings.</Trans>
53 </Admonition>
54 </View>
55 ) : (
56 <PreferenceControls
57 name="likeViaRepost"
58 preference={preferences?.likeViaRepost}
59 />
60 )}
61 </SettingsList.Container>
62 </Layout.Content>
63 </Layout.Screen>
64 )
65}