import {View} from 'react-native' import {Trans, useLingui} from '@lingui/react/macro' import { isChatPreferenceName, type NotificationSettingsPreferenceName, useChatNotificationSettingsQuery, useNotificationSettingsQuery, } from '#/state/queries/notifications/settings' import * as SettingsList from '#/screens/Settings/components/SettingsList' import {PreferenceControls} from '#/screens/Settings/NotificationSettings/components/PreferenceControls' import {atoms as a, useTheme, web} from '#/alf' import {Admonition} from '#/components/Admonition' import {Button, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {type Props as SVGIconProps} from '#/components/icons/common' import {Text} from '#/components/Typography' import {IS_NATIVE} from '#/env' type NotificationSettingsDialogProps = { control: Dialog.DialogControlProps name: NotificationSettingsPreferenceName syncOthers?: NotificationSettingsPreferenceName[] icon: React.ComponentType titleText: React.ReactNode subtitleText: React.ReactNode allowDisableInApp?: boolean } export function NotificationSettingsDialog({ control, name, syncOthers, titleText, subtitleText, allowDisableInApp = true, }: NotificationSettingsDialogProps) { return ( ) } function NotificationSettingsDialogInner({ control, name, syncOthers, titleText, subtitleText, allowDisableInApp, }: Omit) { const t = useTheme() const {t: l} = useLingui() const isChat = isChatPreferenceName(name) const appQuery = useNotificationSettingsQuery({enabled: !isChat}) const chatQuery = useChatNotificationSettingsQuery({enabled: isChat}) const isError = isChat ? chatQuery.isError : appQuery.isError const preference = isChat ? chatQuery.data?.[name] : appQuery.data?.[name] return ( <> {titleText} {subtitleText} {isError ? ( Failed to load notification settings. ) : ( )} {IS_NATIVE && ( )} ) }