Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
1.7 kB · 54 lines
TypeScript
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import {type AppBskyActorDefs} from '@atproto/api'
import {type UsePreferencesQueryResponse} from '#/state/queries/preferences'import {type SessionAccount} from '#/state/session'import {type AnalyticsContextType} from '#/analytics'import {type Geolocation} from '#/geolocation'
export type EnabledCheckProps = { features: AnalyticsContextType['features'] currentAccount: SessionAccount currentProfile: AppBskyActorDefs.ProfileViewDetailed preferences: UsePreferencesQueryResponse geolocation: Geolocation}
export function createIsEnabledCheck( cb: (props: EnabledCheckProps) => boolean,) { return cb}
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}
export function isExistingUserAsOf(date: string, 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 threshold = Date.parse(date) const then = new Date(createdAt).getTime()
return then < threshold}