diff options
author | Hailey <me@haileyok.com> | 2024-05-13 09:19:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 09:19:35 -0700 |
commit | d3406c89cf0c5b46197a87298dcd4e1326fef643 (patch) | |
tree | 6495ae6ca57f07077500a2e69f6cdc1c334be33e /src/screens/Onboarding/StepInterests/index.tsx | |
parent | 63b38b413d7a9e243646d11219b0959b3e59cc79 (diff) | |
download | voidsky-d3406c89cf0c5b46197a87298dcd4e1326fef643.tar.zst |
Move request for notifications permissions to `HomeReadyScreen` (#3977)
* cleanup the current logic * add statsig logs * implement requests for permissions where needed * oops * let `addPushTokenListener` handle the token registration * place new log event type with the other `notifications` type * place registration next to handler * more organization * only call `gate()` if permission is not yet granted * be more specific to prevent gate pollution * nit * make `token` non-optional in `registerToken` * remove `prevDid`, move `registerPushToken` into `useEffect` * keep it outside actually * nit
Diffstat (limited to 'src/screens/Onboarding/StepInterests/index.tsx')
-rw-r--r-- | src/screens/Onboarding/StepInterests/index.tsx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/screens/Onboarding/StepInterests/index.tsx b/src/screens/Onboarding/StepInterests/index.tsx index d6678f4b0..2711f6779 100644 --- a/src/screens/Onboarding/StepInterests/index.tsx +++ b/src/screens/Onboarding/StepInterests/index.tsx @@ -5,11 +5,12 @@ import {useLingui} from '@lingui/react' import {useQuery} from '@tanstack/react-query' import {useAnalytics} from '#/lib/analytics/analytics' -import {logEvent} from '#/lib/statsig/statsig' +import {logEvent, useGate} from '#/lib/statsig/statsig' import {capitalize} from '#/lib/strings/capitalize' import {logger} from '#/logger' import {useAgent} from '#/state/session' import {useOnboardingDispatch} from '#/state/shell' +import {useRequestNotificationsPermission} from 'lib/notifications/notifications' import { DescriptionText, OnboardingControls, @@ -33,6 +34,9 @@ export function StepInterests() { const t = useTheme() const {gtMobile} = useBreakpoints() const {track} = useAnalytics() + const gate = useGate() + const requestNotificationsPermission = useRequestNotificationsPermission() + const {state, dispatch, interestsDisplayNames} = React.useContext(Context) const [saving, setSaving] = React.useState(false) const [interests, setInterests] = React.useState<string[]>( @@ -129,6 +133,12 @@ export function StepInterests() { track('OnboardingV2:StepInterests:Start') }, [track]) + React.useEffect(() => { + if (!gate('reduced_onboarding_and_home_algo')) { + requestNotificationsPermission('StartOnboarding') + } + }, [gate, requestNotificationsPermission]) + const title = isError ? ( <Trans>Oh no! Something went wrong.</Trans> ) : ( |