From 44b30d424ce2968832489156687c776646fb3974 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Thu, 12 Feb 2026 17:04:12 -0600 Subject: [PATCH] Update AA copy to better reflect safe mode --- .../ageAssurance/AgeAssuranceAccountCard.tsx | 17 ++++++++++++++++- .../ageAssurance/AgeRestrictedScreen.tsx | 2 +- .../ageAssurance/useAgeAssuranceCopy.ts | 17 +++++++++++++---- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/components/ageAssurance/AgeAssuranceAccountCard.tsx b/src/components/ageAssurance/AgeAssuranceAccountCard.tsx index 7d7b5ade06..0f92058c0d 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,22 @@ function Inner({style}: ViewStyleProp & {}) { - + {copy.notice} + {hasCompletedFlow && ( + + + 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..82e41459cd 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..7324a509f8 100644 --- a/src/components/ageAssurance/useAgeAssuranceCopy.ts +++ b/src/components/ageAssurance/useAgeAssuranceCopy.ts @@ -2,14 +2,23 @@ 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 successfully completed the Age Assurance process, but unfortunately, 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.`, ), @@ -17,5 +26,5 @@ export function useAgeAssuranceCopy() { msg`Don't worry! All existing messages and settings are saved and will be available after you verify you're an adult.`, ), } - }, [_]) + }, [_, hasCompletedFlow]) }