import React from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
import {UseMutateFunction} from '@tanstack/react-query'
import * as Toast from '#/view/com/util/Toast'
import {atoms as a, useTheme} from '#/alf'
import {usePreferencesQuery} from '#/state/queries/preferences'
import {logger} from '#/logger'
import {Text} from '#/components/Typography'
import * as Toggle from '#/components/forms/Toggle'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
import * as Prompt from '#/components/Prompt'
import {isIOS} from '#/platform/detection'
function Card({children}: React.PropsWithChildren<{}>) {
const t = useTheme()
return (
{children}
)
}
export function AdultContentEnabledPref({
mutate,
variables,
}: {
mutate: UseMutateFunction
variables: {enabled: boolean} | undefined
}) {
const {_} = useLingui()
const t = useTheme()
const prompt = Prompt.usePromptControl()
// Reuse logic here form ContentFilteringSettings.tsx
const {data: preferences} = usePreferencesQuery()
const onToggleAdultContent = React.useCallback(async () => {
if (isIOS) {
prompt.open()
return
}
try {
mutate({
enabled: !(variables?.enabled ?? preferences?.adultContentEnabled),
})
} catch (e) {
Toast.show(
_(msg`There was an issue syncing your preferences with the server`),
)
logger.error('Failed to update preferences with server', {error: e})
}
}, [variables, preferences, mutate, _, prompt])
if (!preferences) return null
return (
<>
{preferences.userAge && preferences.userAge >= 18 ? (
Enable Adult Content
) : (
You must be 18 years or older to enable adult content
)}
Adult Content
Due to Apple policies, adult content can only be enabled on the web
after completing sign up.
OK
>
)
}