diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/notifications/notifications.ts | 10 | ||||
-rw-r--r-- | src/lib/statsig/events.ts | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts index 55a7948ef..58aa4087c 100644 --- a/src/lib/notifications/notifications.ts +++ b/src/lib/notifications/notifications.ts @@ -72,14 +72,17 @@ export function useNotificationsRegistration() { export function useRequestNotificationsPermission() { const gate = useGate() + const {currentAccount} = useSession() - return async (context: 'StartOnboarding' | 'AfterOnboarding' | 'Login') => { + return async ( + context: 'StartOnboarding' | 'AfterOnboarding' | 'Login' | 'Home', + ) => { const permissions = await Notifications.getPermissionsAsync() if ( !isNative || permissions?.status === 'granted' || - permissions?.status === 'denied' + (permissions?.status === 'denied' && !permissions.canAskAgain) ) { return } @@ -95,6 +98,9 @@ export function useRequestNotificationsPermission() { ) { return } + if (context === 'Home' && !currentAccount) { + return + } const res = await Notifications.requestPermissionsAsync() logEvent('notifications:request', { diff --git a/src/lib/statsig/events.ts b/src/lib/statsig/events.ts index 753734edd..9939f60c9 100644 --- a/src/lib/statsig/events.ts +++ b/src/lib/statsig/events.ts @@ -17,7 +17,7 @@ export type LogEvents = { } 'notifications:openApp': {} 'notifications:request': { - context: 'StartOnboarding' | 'AfterOnboarding' | 'Login' + context: 'StartOnboarding' | 'AfterOnboarding' | 'Login' | 'Home' status: 'granted' | 'denied' | 'undetermined' } 'state:background:sampled': { |