import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useAgeAssurance} from '#/state/ageAssurance/useAgeAssurance' import {logger} from '#/state/ageAssurance/util' import {atoms as a} from '#/alf' import {Admonition} from '#/components/Admonition' import {AgeAssuranceBadge} from '#/components/ageAssurance/AgeAssuranceBadge' import {useAgeAssuranceCopy} from '#/components/ageAssurance/useAgeAssuranceCopy' import {ButtonIcon, ButtonText} from '#/components/Button' import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron' import * as Layout from '#/components/Layout' import {Link} from '#/components/Link' import {Text} from '#/components/Typography' export function AgeRestrictedScreen({ children, screenTitle, infoText, rightHeaderSlot, }: { children: React.ReactNode screenTitle?: string infoText?: string rightHeaderSlot?: React.ReactNode }) { const {_} = useLingui() const copy = useAgeAssuranceCopy() const {isReady, isAgeRestricted} = useAgeAssurance() if (!isReady) { return ( ) } if (!isAgeRestricted) return children return ( {screenTitle ?? Unavailable} {rightHeaderSlot ?? } You must complete age assurance in order to access this screen. {copy.notice} { logger.metric('ageAssurance:navigateToSettings', {}) }}> Go to account settings {infoText && {infoText}} ) }