diff options
Diffstat (limited to 'src/components/dialogs')
-rw-r--r-- | src/components/dialogs/nuxs/index.tsx | 5 | ||||
-rw-r--r-- | src/components/dialogs/nuxs/utils.ts | 18 |
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 +} |