about summary refs log tree commit diff
path: root/src/state
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2025-07-17 14:32:58 -0500
committerGitHub <noreply@github.com>2025-07-17 14:32:58 -0500
commit964eed54eaa53f0912b336391642654cb8a0f605 (patch)
treefa5beda05823ca6025e8bcec4ad711f52919baba /src/state
parent00b017804bcb811b5f9292a88619423df3a29ef8 (diff)
downloadvoidsky-964eed54eaa53f0912b336391642654cb8a0f605.tar.zst
Age assurance fast-follows (#8656)
* Add feed banner

* Comment

* Update nux name

* Handle did error

* Hide mod settings if underage or age restricted

* Add metrics

* Remove DEV override

* Copy suggestion

* Small copy edits

* useState

* Fix bug

* Update src/components/ageAssurance/useAgeAssuranceCopy.ts

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* Get rid of debug button

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Diffstat (limited to 'src/state')
-rw-r--r--src/state/ageAssurance/index.tsx4
-rw-r--r--src/state/ageAssurance/useAgeAssurance.ts4
-rw-r--r--src/state/ageAssurance/useIsAgeAssuranceEnabled.ts3
-rw-r--r--src/state/ageAssurance/util.ts3
-rw-r--r--src/state/queries/nuxs/definitions.ts6
5 files changed, 10 insertions, 10 deletions
diff --git a/src/state/ageAssurance/index.tsx b/src/state/ageAssurance/index.tsx
index aab954e6c..eded74773 100644
--- a/src/state/ageAssurance/index.tsx
+++ b/src/state/ageAssurance/index.tsx
@@ -6,17 +6,15 @@ import {networkRetry} from '#/lib/async/retry'
 import {useGetAndRegisterPushToken} from '#/lib/notifications/notifications'
 import {useGate} from '#/lib/statsig/statsig'
 import {isNetworkError} from '#/lib/strings/errors'
-import {Logger} from '#/logger'
 import {
   type AgeAssuranceAPIContextType,
   type AgeAssuranceContextType,
 } from '#/state/ageAssurance/types'
 import {useIsAgeAssuranceEnabled} from '#/state/ageAssurance/useIsAgeAssuranceEnabled'
+import {logger} from '#/state/ageAssurance/util'
 import {useGeolocation} from '#/state/geolocation'
 import {useAgent} from '#/state/session'
 
-const logger = Logger.create(Logger.Context.AgeAssurance)
-
 export const createAgeAssuranceQueryKey = (did: string) =>
   ['ageAssurance', did] as const
 
diff --git a/src/state/ageAssurance/useAgeAssurance.ts b/src/state/ageAssurance/useAgeAssurance.ts
index 455f38c92..0215cc88d 100644
--- a/src/state/ageAssurance/useAgeAssurance.ts
+++ b/src/state/ageAssurance/useAgeAssurance.ts
@@ -1,11 +1,9 @@
 import {useMemo} from 'react'
 
-import {Logger} from '#/logger'
 import {useAgeAssuranceContext} from '#/state/ageAssurance'
+import {logger} from '#/state/ageAssurance/util'
 import {usePreferencesQuery} from '#/state/queries/preferences'
 
-const logger = Logger.create(Logger.Context.AgeAssurance)
-
 type AgeAssurance = ReturnType<typeof useAgeAssuranceContext> & {
   /**
    * The age the user has declared in their preferences, if any.
diff --git a/src/state/ageAssurance/useIsAgeAssuranceEnabled.ts b/src/state/ageAssurance/useIsAgeAssuranceEnabled.ts
index 5c1a7b1c4..06fe46d23 100644
--- a/src/state/ageAssurance/useIsAgeAssuranceEnabled.ts
+++ b/src/state/ageAssurance/useIsAgeAssuranceEnabled.ts
@@ -8,6 +8,7 @@ export function useIsAgeAssuranceEnabled() {
   const {geolocation} = useGeolocation()
 
   return useMemo(() => {
-    return gate('age_assurance') && !!geolocation?.isAgeRestrictedGeo
+    const enabled = gate('age_assurance')
+    return enabled && !!geolocation?.isAgeRestrictedGeo
   }, [geolocation, gate])
 }
diff --git a/src/state/ageAssurance/util.ts b/src/state/ageAssurance/util.ts
new file mode 100644
index 000000000..6b0e97b1c
--- /dev/null
+++ b/src/state/ageAssurance/util.ts
@@ -0,0 +1,3 @@
+import {Logger} from '#/logger'
+
+export const logger = Logger.create(Logger.Context.AgeAssurance)
diff --git a/src/state/queries/nuxs/definitions.ts b/src/state/queries/nuxs/definitions.ts
index 61657992f..3d5c132f2 100644
--- a/src/state/queries/nuxs/definitions.ts
+++ b/src/state/queries/nuxs/definitions.ts
@@ -8,7 +8,7 @@ export enum Nux {
   InitialVerificationAnnouncement = 'InitialVerificationAnnouncement',
   ActivitySubscriptions = 'ActivitySubscriptions',
   AgeAssuranceDismissibleNotice = 'AgeAssuranceDismissibleNotice',
-  AgeAssuranceDismissibleHeaderButton = 'AgeAssuranceDismissibleHeaderButton',
+  AgeAssuranceDismissibleFeedBanner = 'AgeAssuranceDismissibleFeedBanner',
 }
 
 export const nuxNames = new Set(Object.values(Nux))
@@ -35,7 +35,7 @@ export type AppNux = BaseNux<
       data: undefined
     }
   | {
-      id: Nux.AgeAssuranceDismissibleHeaderButton
+      id: Nux.AgeAssuranceDismissibleFeedBanner
       data: undefined
     }
 >
@@ -46,5 +46,5 @@ export const NuxSchemas: Record<Nux, zod.ZodObject<any> | undefined> = {
   [Nux.InitialVerificationAnnouncement]: undefined,
   [Nux.ActivitySubscriptions]: undefined,
   [Nux.AgeAssuranceDismissibleNotice]: undefined,
-  [Nux.AgeAssuranceDismissibleHeaderButton]: undefined,
+  [Nux.AgeAssuranceDismissibleFeedBanner]: undefined,
 }