diff options
author | Hailey <me@haileyok.com> | 2024-05-29 18:42:12 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-30 02:42:12 +0100 |
commit | eb6f44853d91083c7f6015952f1fe6cbe0395631 (patch) | |
tree | ff7a702dd8009d169cb22f4774978b96dfb1cced /src/lib/notifications | |
parent | 165feedb866034452807eb87b39efe3ba780184f (diff) | |
download | voidsky-eb6f44853d91083c7f6015952f1fe6cbe0395631.tar.zst |
adjust notifications experiment by removing `canAskAgain` (#4271)
* adjust notifications experiment by removing `canAskAgain` * move to `StepFinished` for after onboarding
Diffstat (limited to 'src/lib/notifications')
-rw-r--r-- | src/lib/notifications/notifications.ts | 73 |
1 files changed, 34 insertions, 39 deletions
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts index f0667b0cc..705d90c56 100644 --- a/src/lib/notifications/notifications.ts +++ b/src/lib/notifications/notifications.ts @@ -71,46 +71,41 @@ export function useNotificationsRegistration() { export function useRequestNotificationsPermission() { const gate = useGate() - const {currentAccount} = useSession() - return React.useCallback( - async (context: 'StartOnboarding' | 'AfterOnboarding' | 'Login') => { - const permissions = await Notifications.getPermissionsAsync() - - if ( - !currentAccount || - !isNative || - permissions?.status === 'granted' || - (permissions?.status === 'denied' && !permissions?.canAskAgain) - ) { - return - } - if ( - context === 'StartOnboarding' && - gate('request_notifications_permission_after_onboarding') - ) { - return - } - if ( - context === 'AfterOnboarding' && - !gate('request_notifications_permission_after_onboarding') - ) { - return - } - - const res = await Notifications.requestPermissionsAsync() - logEvent('notifications:request', { - context: context, - status: res.status, - }) - - if (res.granted) { - // This will fire a pushTokenEvent, which will handle registration of the token - getPushToken(true) - } - }, - [gate, currentAccount], - ) + return async (context: 'StartOnboarding' | 'AfterOnboarding' | 'Login') => { + const permissions = await Notifications.getPermissionsAsync() + + if ( + !isNative || + permissions?.status === 'granted' || + permissions?.status === 'denied' + ) { + return + } + if ( + context === 'StartOnboarding' && + gate('request_notifications_permission_after_onboarding_v2') + ) { + return + } + if ( + context === 'AfterOnboarding' && + !gate('request_notifications_permission_after_onboarding_v2') + ) { + return + } + + const res = await Notifications.requestPermissionsAsync() + logEvent('notifications:request', { + context: context, + status: res.status, + }) + + if (res.granted) { + // This will fire a pushTokenEvent, which will handle registration of the token + getPushToken(true) + } + } } export async function decrementBadgeCount(by: number | 'reset' = 1) { |