about summary refs log tree commit diff
path: root/src/components/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/dialogs')
-rw-r--r--src/components/dialogs/nuxs/index.tsx5
-rw-r--r--src/components/dialogs/nuxs/utils.ts18
2 files changed, 22 insertions, 1 deletions
diff --git a/src/components/dialogs/nuxs/index.tsx b/src/components/dialogs/nuxs/index.tsx
index c8c539b85..11377e1de 100644
--- a/src/components/dialogs/nuxs/index.tsx
+++ b/src/components/dialogs/nuxs/index.tsx
@@ -16,6 +16,7 @@ import {InitialVerificationAnnouncement} from '#/components/dialogs/nuxs/Initial
  * NUXs
  */
 import {isSnoozed, snooze, unsnooze} from '#/components/dialogs/nuxs/snoozing'
+import {isDaysOld} from '#/components/dialogs/nuxs/utils'
 
 type Context = {
   activeNux: Nux | undefined
@@ -33,7 +34,9 @@ const queuedNuxs: {
 }[] = [
   {
     id: Nux.InitialVerificationAnnouncement,
-    enabled: () => true,
+    enabled: ({currentProfile}) => {
+      return isDaysOld(2, currentProfile.createdAt)
+    },
   },
 ]
 
diff --git a/src/components/dialogs/nuxs/utils.ts b/src/components/dialogs/nuxs/utils.ts
new file mode 100644
index 000000000..0cc510484
--- /dev/null
+++ b/src/components/dialogs/nuxs/utils.ts
@@ -0,0 +1,18 @@
+const ONE_DAY = 1000 * 60 * 60 * 24
+
+export function isDaysOld(days: number, createdAt?: string) {
+  /*
+   * Should never happen because we gate NUXs to only accounts with a valid
+   * profile and a `createdAt` (see `nuxs/index.tsx`). But if it ever did, the
+   * account is either old enough to be pre-onboarding, or some failure happened
+   * during account creation. Fail closed. - esb
+   */
+  if (!createdAt) return false
+
+  const now = Date.now()
+  const then = new Date(createdAt).getTime()
+  const isOldEnough = then + ONE_DAY * days < now
+
+  if (isOldEnough) return true
+  return false
+}