import { Dispatch } from 'redux' ; const { NativeEventEmitter , NativeModules , Platform } = require ( 'react-native' ) ; interface NotificationData { joplinNotificationId : string ; noteId : string ; } export default async ( dispatch ) => { if ( Platform . OS === 'android' ) { const RNAlarmNotification = NativeModules . RNAlarmNotification ; const RNAlarmEmitter = new NativeEventEmitter ( RNAlarmNotification ) ; const handleNotification = async ( notification ) => { if ( notification ) { const noteId = notification . noteId ; if ( noteId ) { dispatch ( { type : 'NAV_BACK' } ) ; dispatch ( { type : 'SIDE_MENU_CLOSE' } ) ; dispatch ( { type : 'NAV_GO' , noteId : noteId , routeName : 'Note' , } ) ; } } } ; RNAlarmEmitter . addListener ( 'OnNotificationOpened' , handleNotification ) ; const notification = await RNAlarmNotification . getAlarmInfo ( ) ; await handleNotification ( notification ) ; } } ;