diff --git a/src/components/ageAssurance/AgeAssurancePrompt.tsx b/src/components/ageAssurance/AgeAssurancePrompt.tsx index 842409478b..326b39da50 100644 --- a/src/components/ageAssurance/AgeAssurancePrompt.tsx +++ b/src/components/ageAssurance/AgeAssurancePrompt.tsx @@ -12,9 +12,9 @@ import {Text} from '#/components/Typography' export function AgeAssurancePrompt({style}: ViewStyleProp & {}) { const t = useTheme() const {_} = useLingui() - const {isAgeRestricted} = useAgeAssuranceContext() + const {hasInitiated} = useAgeAssuranceContext() - return !isAgeRestricted ? null : ( + return hasInitiated ? null : ( - Age Asurrance + Age Assurance diff --git a/src/state/ageAssurance.tsx b/src/state/ageAssurance.tsx index c6d96b8f67..7724438b57 100644 --- a/src/state/ageAssurance.tsx +++ b/src/state/ageAssurance.tsx @@ -9,7 +9,7 @@ import {useGeolocation} from '#/state/geolocation' const logger = Logger.create(Logger.Context.AgeAssurance) type TempAgeAssuranceState = { - updatedAt?: string + lastInitiatedAt?: string status: 'unknown' | 'pending' | 'assured' } @@ -23,6 +23,14 @@ export type AgeAssuranceContextType = { * The current age assurance status retrieved from the server. */ status: TempAgeAssuranceState['status'] + /** + * The last time the age assurance state was attempted by the user. + */ + lastInitiatedAt: string | undefined + /** + * Whether the user has initiated an age assurance check. + */ + hasInitiated: boolean } export type AgeAssuranceAPIContextType = { @@ -35,6 +43,8 @@ export type AgeAssuranceAPIContextType = { const AgeAssuranceContext = createContext({ isAgeRestricted: false, status: 'unknown', + lastInitiatedAt: undefined, + hasInitiated: false, }) const AgeAssuranceAPIContext = createContext({ @@ -55,7 +65,7 @@ export function Provider({children}: {children: React.ReactNode}) { 200, (() => ({ data: { - updatedAt: undefined, + lastInitiatedAt: undefined, status: 'unknown', } as TempAgeAssuranceState, }))(), @@ -72,12 +82,14 @@ export function Provider({children}: {children: React.ReactNode}) { }, [setAgeAssuranceState]) const ageAssuranceContext = useMemo(() => { - const {status} = ageAssuranceState + const {status, lastInitiatedAt} = ageAssuranceState const ctx: AgeAssuranceContextType = { + status, + lastInitiatedAt, + hasInitiated: !!lastInitiatedAt, isAgeRestricted: Boolean( geolocation?.isAgeRestrictedGeo && status !== 'assured', ), - status, } logger.debug(`context`, ctx)