import {Text} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {AllNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types' import {useNotificationFeedQuery} from '#/state/queries/notifications/feed' import {useNotificationSettingsMutation} from '#/state/queries/notifications/settings' import {atoms as a} from '#/alf' import {Admonition} from '#/components/Admonition' import {Error} from '#/components/Error' import * as Toggle from '#/components/forms/Toggle' import {Beaker_Stroke2_Corner2_Rounded as BeakerIcon} from '#/components/icons/Beaker' import * as Layout from '#/components/Layout' import {Loader} from '#/components/Loader' import * as SettingsList from './components/SettingsList' type Props = NativeStackScreenProps export function NotificationSettingsScreen({}: Props) { const {_} = useLingui() const { data, isError: isQueryError, refetch, } = useNotificationFeedQuery({ filter: 'all', }) const serverPriority = data?.pages.at(0)?.priority const { mutate: onChangePriority, isPending: isMutationPending, variables, } = useNotificationSettingsMutation() const priority = isMutationPending ? variables[0] === 'enabled' : serverPriority return ( Notification Settings {isQueryError ? ( ) : ( Notification filters Enable priority notifications {!data ? : } Experimental: When this preference is enabled, you'll only receive reply and quote notifications from users you follow. We'll continue to add more controls here over time. )} ) }