import { StatusBar } from 'expo-status-bar'; import { useState, useRef, useEffect } from 'react'; import { StyleSheet, Text, View, Button } from 'react-native'; import * as Device from 'expo-device'; import * as Notifications from 'expo-notifications'; import Modal from "react-native-modal"; export default function App() { const [modalVisible, setModalVisible] = useState(false); const [expoPushToken, setExpoPushToken] = useState(); const [notification, setNotification] = useState(); useEffect(()=>{ registerForPushNotificationsAsync().catch((error) => { console.log('There has been a problem with your fetch operation: ' + error.message); // ADD THIS THROW error throw error; }); Notifications.setNotificationHandler({ handleNotification: async () => ({ shouldShowAlert: true, shouldPlaySound: false, shouldSetBadge: false, }), }); Notifications.addNotificationReceivedListener(() => setNotification(notification)); Notifications.addNotificationResponseReceivedListener((response) => console.log(response)); },[]); registerForPushNotificationsAsync = async () => { if (Device.isDevice) { const { status: existingStatus } = await Notifications.getPermissionsAsync(); let finalStatus = existingStatus; if (existingStatus !== 'granted') { const { status } = await Notifications.requestPermissionsAsync(); finalStatus = status; } if (finalStatus !== 'granted') { alert('Failed to get push token for push notification!'); return; } else { console.log(finalStatus) } const token = (await Notifications.getExpoPushTokenAsync()).data; console.log(token); setExpoPushToken(token); } else { alert('Must use physical device for Push Notifications'); } // if (Platform.OS === 'android') { // Notifications.setNotificationChannelAsync('default', { // name: 'default', // importance: Notifications.AndroidImportance.MAX, // vibrationPattern: [0, 250, 250, 250], // lightColor: '#FF231F7C', // });} }; return ( <> {/* SWIPEABLE MODAL START */} {modalVisible && setModalVisible(false)} swipeDirection={["down"]} scrollOffsetMax={1500 - 600} // content height - ScrollView height propagateSwipe={true} style={{ ...styles2.modal, position: "relative" }} > ABCDEFGH