114 lines
3.8 KiB
Diff
114 lines
3.8 KiB
Diff
diff --git a/src/ageAssurance/index.tsx b/src/ageAssurance/index.tsx
|
|
index 9a0a9c9d5..7c25a2291 100644
|
|
--- a/src/ageAssurance/index.tsx
|
|
+++ b/src/ageAssurance/index.tsx
|
|
@@ -1,20 +1,13 @@
|
|
-import {createContext, useCallback, useContext, useEffect, useMemo} from 'react'
|
|
+import { createContext, useContext, useMemo } from 'react'
|
|
|
|
-import {useGetAndRegisterPushToken} from '#/lib/notifications/notifications'
|
|
-import {Provider as RedirectOverlayProvider} from '#/ageAssurance/components/RedirectOverlay'
|
|
-import {AgeAssuranceDataProvider} from '#/ageAssurance/data'
|
|
-import {useAgeAssuranceDataContext} from '#/ageAssurance/data'
|
|
-import {logger} from '#/ageAssurance/logger'
|
|
-import {
|
|
- useAgeAssuranceState,
|
|
- useOnAgeAssuranceAccessUpdate,
|
|
-} from '#/ageAssurance/state'
|
|
+import { Provider as RedirectOverlayProvider } from '#/ageAssurance/components/RedirectOverlay'
|
|
+import { AgeAssuranceDataProvider } from '#/ageAssurance/data'
|
|
+import { logger } from '#/ageAssurance/logger'
|
|
import {
|
|
AgeAssuranceAccess,
|
|
type AgeAssuranceState,
|
|
AgeAssuranceStatus,
|
|
} from '#/ageAssurance/types'
|
|
-import {isUserUnderAdultAge} from '#/ageAssurance/util'
|
|
|
|
export {
|
|
prefetchConfig as prefetchAgeAssuranceConfig,
|
|
@@ -23,7 +16,7 @@ export {
|
|
usePatchOtherRequiredData as usePatchAgeAssuranceOtherRequiredData,
|
|
usePatchServerState as usePatchAgeAssuranceServerState,
|
|
} from '#/ageAssurance/data'
|
|
-export {logger} from '#/ageAssurance/logger'
|
|
+export { logger } from '#/ageAssurance/logger'
|
|
|
|
const AgeAssuranceStateContext = createContext<{
|
|
Access: typeof AgeAssuranceAccess
|
|
@@ -56,7 +49,7 @@ export function useAgeAssurance() {
|
|
return useContext(AgeAssuranceStateContext)
|
|
}
|
|
|
|
-export function Provider({children}: {children: React.ReactNode}) {
|
|
+export function Provider({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<AgeAssuranceDataProvider>
|
|
<InnerProvider>
|
|
@@ -66,44 +59,31 @@ export function Provider({children}: {children: React.ReactNode}) {
|
|
)
|
|
}
|
|
|
|
-function InnerProvider({children}: {children: React.ReactNode}) {
|
|
- const state = useAgeAssuranceState()
|
|
- const {data} = useAgeAssuranceDataContext()
|
|
- const getAndRegisterPushToken = useGetAndRegisterPushToken()
|
|
-
|
|
- const handleAccessUpdate = useCallback(
|
|
- (s: AgeAssuranceState) => {
|
|
- getAndRegisterPushToken({
|
|
- isAgeRestricted: s.access !== AgeAssuranceAccess.Full,
|
|
- })
|
|
- },
|
|
- [getAndRegisterPushToken],
|
|
+function InnerProvider({ children }: { children: React.ReactNode }) {
|
|
+ // Completely ignore internal state and force Full access
|
|
+ const flags = useMemo(
|
|
+ () => ({
|
|
+ adultContentDisabled: false,
|
|
+ chatDisabled: false,
|
|
+ }),
|
|
+ [],
|
|
)
|
|
- useOnAgeAssuranceAccessUpdate(handleAccessUpdate)
|
|
|
|
- useEffect(() => {
|
|
- logger.debug(`useAgeAssuranceState`, {state})
|
|
- }, [state])
|
|
+ const contextValue = useMemo(() => {
|
|
+ return {
|
|
+ Access: AgeAssuranceAccess,
|
|
+ Status: AgeAssuranceStatus,
|
|
+ state: {
|
|
+ lastInitiatedAt: undefined,
|
|
+ status: AgeAssuranceStatus.Unknown,
|
|
+ access: AgeAssuranceAccess.Full,
|
|
+ },
|
|
+ flags,
|
|
+ }
|
|
+ }, [flags])
|
|
|
|
return (
|
|
- <AgeAssuranceStateContext.Provider
|
|
- value={useMemo(() => {
|
|
- const chatDisabled = state.access !== AgeAssuranceAccess.Full
|
|
- const isUnderage = data?.birthdate
|
|
- ? isUserUnderAdultAge(data.birthdate)
|
|
- : true
|
|
- const adultContentDisabled =
|
|
- state.access !== AgeAssuranceAccess.Full || isUnderage
|
|
- return {
|
|
- Access: AgeAssuranceAccess,
|
|
- Status: AgeAssuranceStatus,
|
|
- state,
|
|
- flags: {
|
|
- adultContentDisabled,
|
|
- chatDisabled,
|
|
- },
|
|
- }
|
|
- }, [state, data])}>
|
|
+ <AgeAssuranceStateContext.Provider value={contextValue}>
|
|
{children}
|
|
</AgeAssuranceStateContext.Provider>
|
|
)
|