Don't show NUXs to brand new users (#8362)
* Ensure verification nux is only shown to older users * Update comment
This commit is contained in:
@@ -16,6 +16,7 @@ import {InitialVerificationAnnouncement} from '#/components/dialogs/nuxs/Initial
|
|||||||
* NUXs
|
* NUXs
|
||||||
*/
|
*/
|
||||||
import {isSnoozed, snooze, unsnooze} from '#/components/dialogs/nuxs/snoozing'
|
import {isSnoozed, snooze, unsnooze} from '#/components/dialogs/nuxs/snoozing'
|
||||||
|
import {isDaysOld} from '#/components/dialogs/nuxs/utils'
|
||||||
|
|
||||||
type Context = {
|
type Context = {
|
||||||
activeNux: Nux | undefined
|
activeNux: Nux | undefined
|
||||||
@@ -33,7 +34,9 @@ const queuedNuxs: {
|
|||||||
}[] = [
|
}[] = [
|
||||||
{
|
{
|
||||||
id: Nux.InitialVerificationAnnouncement,
|
id: Nux.InitialVerificationAnnouncement,
|
||||||
enabled: () => true,
|
enabled: ({currentProfile}) => {
|
||||||
|
return isDaysOld(2, currentProfile.createdAt)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user