import { useEffect, useRef } from 'react'; import { Stack } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; import { useAuthStore } from '../store/authStore'; import { registerForPushNotifications, addNotificationListener, addNotificationResponseListener } from '../services/notifications'; const queryClient = new QueryClient(); export default function RootLayout() { const { checkAuth } = useAuthStore(); const notificationListener = useRef>(); const responseListener = useRef>(); useEffect(() => { checkAuth(); registerForPushNotifications(); notificationListener.current = addNotificationListener((notification) => { console.log('Notification received:', notification); }); responseListener.current = addNotificationResponseListener((response) => { console.log('Notification clicked:', response); }); return () => { notificationListener.current?.remove(); responseListener.current?.remove(); }; }, []); return ( ); }