import {View} from 'react-native' import {type AppBskyNotificationDeclaration} from '@atproto/api' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import { type AllNavigatorParams, type NativeStackScreenProps, } from '#/lib/routes/types' import { useNotificationDeclarationMutation, useNotificationDeclarationQuery, } from '#/state/queries/activity-subscriptions' import {atoms as a, useTheme} from '#/alf' import {Admonition} from '#/components/Admonition' import * as Toggle from '#/components/forms/Toggle' import {BellRinging_Stroke2_Corner0_Rounded as BellRingingIcon} from '#/components/icons/BellRinging' import * as Layout from '#/components/Layout' import {Loader} from '#/components/Loader' import * as SettingsList from './components/SettingsList' import {ItemTextWithSubtitle} from './NotificationSettings/components/ItemTextWithSubtitle' type Props = NativeStackScreenProps< AllNavigatorParams, 'ActivityPrivacySettings' > export function ActivityPrivacySettingsScreen({}: Props) { const { data: notificationDeclaration, isPending, isError, } = useNotificationDeclarationQuery() return ( Privacy and Security Allow others to be notified of your posts } subtitleText={ This feature allows users to receive notifications for your new posts and replies. Who do you want to enable this for? } /> {isError ? ( Failed to load preference. ) : isPending ? ( ) : ( )} ) } export function Inner({ notificationDeclaration, }: { notificationDeclaration: { uri?: string cid?: string value: AppBskyNotificationDeclaration.Record } }) { const t = useTheme() const {_} = useLingui() const {mutate} = useNotificationDeclarationMutation() const onChangeFilter = ([declaration]: string[]) => { mutate({ $type: 'app.bsky.notification.declaration', allowSubscriptions: declaration, }) } return ( Anyone who follows me Only followers who I follow No one ) }