diff --git a/src/components/ageAssurance/AgeAssuranceAccountCard.tsx b/src/components/ageAssurance/AgeAssuranceAccountCard.tsx index 7d7b5ade06..0c8d4e9ae1 100644 --- a/src/components/ageAssurance/AgeAssuranceAccountCard.tsx +++ b/src/components/ageAssurance/AgeAssuranceAccountCard.tsx @@ -56,6 +56,7 @@ function Inner({style}: ViewStyleProp & {}) { const {status, lastInitiatedAt} = aa.state const isBlocked = status === aa.Status.Blocked const hasInitiated = !!lastInitiatedAt + const hasCompletedFlow = status === aa.Status.Assured const timeAgo = lastInitiatedAt ? getTimeAgo(lastInitiatedAt, new Date()) : null @@ -85,8 +86,25 @@ function Inner({style}: ViewStyleProp & {}) { - + {copy.notice} + {hasCompletedFlow && ( + + + If you are 18 years of age or older and want to try again, + click the button below and use a different verification method + if one is available in your region. If you have questions or + concerns,{' '} + { + appealControl.open() + })}> + our support team can help. + + + + )} {IS_NATIVE && ( <> diff --git a/src/components/ageAssurance/AgeRestrictedScreen.tsx b/src/components/ageAssurance/AgeRestrictedScreen.tsx index 8c77e8e43d..f34efd4064 100644 --- a/src/components/ageAssurance/AgeRestrictedScreen.tsx +++ b/src/components/ageAssurance/AgeRestrictedScreen.tsx @@ -59,7 +59,7 @@ export function AgeRestrictedScreen({ - You must complete age assurance in order to access this screen. + We're sorry, you cannot access this screen at this time. diff --git a/src/components/ageAssurance/useAgeAssuranceCopy.ts b/src/components/ageAssurance/useAgeAssuranceCopy.ts index e75f84feed..c429e17fe7 100644 --- a/src/components/ageAssurance/useAgeAssuranceCopy.ts +++ b/src/components/ageAssurance/useAgeAssuranceCopy.ts @@ -2,20 +2,29 @@ import {useMemo} from 'react' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {useAgeAssurance} from '#/ageAssurance' + export function useAgeAssuranceCopy() { const {_} = useLingui() + const aa = useAgeAssurance() + + const hasCompletedFlow = aa.state.status === aa.Status.Assured return useMemo(() => { return { - notice: _( - msg`Due to laws in your region, certain features on Bluesky are currently restricted until you're able to verify you're an adult.`, - ), + notice: hasCompletedFlow + ? _( + msg`You have completed the Age Assurance process, but based on the results, we cannot be sure that you are 18 years of age or older. Due to laws in your region, certain features on Bluesky must remain restricted until you're able to verify you're an adult.`, + ) + : _( + msg`Due to laws in your region, certain features on Bluesky are currently restricted until you're able to verify you're an adult.`, + ), banner: _( - msg`The laws in your location require you to verify you're an adult to access certain features. Tap to learn more.`, + msg`The laws in your region require you to verify you're an adult to access certain features. Tap to learn more.`, ), chatsInfoText: _( msg`Don't worry! All existing messages and settings are saved and will be available after you verify you're an adult.`, ), } - }, [_]) + }, [_, hasCompletedFlow]) }