diff options
Diffstat (limited to 'src/lib/notifications')
-rw-r--r-- | src/lib/notifications/notifications.ts | 74 |
1 files changed, 1 insertions, 73 deletions
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts index b0bbc1bf9..38c18bf3f 100644 --- a/src/lib/notifications/notifications.ts +++ b/src/lib/notifications/notifications.ts @@ -1,17 +1,9 @@ -import {useEffect} from 'react' import * as Notifications from 'expo-notifications' import {BskyAgent} from '@atproto/api' -import {QueryClient} from '@tanstack/react-query' import {logger} from '#/logger' -import {RQKEY as RQKEY_NOTIFS} from '#/state/queries/notifications/feed' -import {invalidateCachedUnreadPage} from '#/state/queries/notifications/unread' -import {truncateAndInvalidate} from '#/state/queries/util' import {SessionAccount} from '#/state/session' -import {track} from 'lib/analytics/analytics' -import {devicePlatform, isIOS} from 'platform/detection' -import {resetToTab} from '../../Navigation' -import {logEvent} from '../statsig/statsig' +import {devicePlatform} from 'platform/detection' const SERVICE_DID = (serviceUrl?: string) => serviceUrl?.includes('staging') @@ -85,67 +77,3 @@ export function registerTokenChangeHandler( sub.remove() } } - -export function useNotificationsListener(queryClient: QueryClient) { - useEffect(() => { - // handle notifications that are received, both in the foreground or background - // NOTE: currently just here for debug logging - const sub1 = Notifications.addNotificationReceivedListener(event => { - invalidateCachedUnreadPage() - logger.debug( - 'Notifications: received', - {event}, - logger.DebugContext.notifications, - ) - if (event.request.trigger.type === 'push') { - // handle payload-based deeplinks - let payload - if (isIOS) { - payload = event.request.trigger.payload - } else { - // TODO: handle android payload deeplink - } - if (payload) { - logger.debug( - 'Notifications: received payload', - payload, - logger.DebugContext.notifications, - ) - // TODO: deeplink notif here - } - } - }) - - // handle notifications that are tapped on - const sub2 = Notifications.addNotificationResponseReceivedListener( - response => { - logger.debug( - 'Notifications: response received', - { - actionIdentifier: response.actionIdentifier, - }, - logger.DebugContext.notifications, - ) - if ( - response.actionIdentifier === Notifications.DEFAULT_ACTION_IDENTIFIER - ) { - logger.debug( - 'User pressed a notification, opening notifications tab', - {}, - logger.DebugContext.notifications, - ) - track('Notificatons:OpenApp') - logEvent('notifications:openApp', {}) - invalidateCachedUnreadPage() - truncateAndInvalidate(queryClient, RQKEY_NOTIFS()) - resetToTab('NotificationsTab') // open notifications tab - } - }, - ) - - return () => { - sub1.remove() - sub2.remove() - } - }, [queryClient]) -} |