Corrections et optimisations géolocalisation
This commit is contained in:
@ -11,7 +11,7 @@ import { Challenge } from '@/utils/features/challenges/challengesSlice'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { router } from 'expo-router'
|
||||
import { useShareIntentContext } from 'expo-share-intent'
|
||||
import { ReactNode, useEffect } from 'react'
|
||||
import React, { ReactNode, useEffect } from 'react'
|
||||
|
||||
export default function GameProvider({ children }: { children: ReactNode }) {
|
||||
const auth = useAuth()
|
||||
|
@ -1,14 +1,14 @@
|
||||
import { ReactNode, useEffect } from 'react'
|
||||
import { useAuth } from '@/hooks/useAuth'
|
||||
import { useQueuedLocations, useSetLastPlayerLocation, useSetLastPlayerLocations, useUnqueueLocation } from '@/hooks/useLocation'
|
||||
import { useGeolocationMutation } from '@/hooks/mutations/useGeolocationMutation'
|
||||
import { useStartGeolocationServiceEffect } from '@/utils/geolocation'
|
||||
import { Platform } from 'react-native'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { isAuthValid } from '@/utils/features/auth/authSlice'
|
||||
import { socket } from '@/utils/socket'
|
||||
import { PlayerLocation } from '@/utils/features/location/locationSlice'
|
||||
import React, { ReactNode, useEffect } from 'react'
|
||||
import { Platform } from 'react-native'
|
||||
import { Constants } from '@/constants/Constants'
|
||||
import { useAuth } from '@/hooks/useAuth'
|
||||
import { useGeolocationMutation } from '@/hooks/mutations/useGeolocationMutation'
|
||||
import { useQueuedLocations, useSetLastPlayerLocation, useSetLastPlayerLocations, useUnqueueLocation } from '@/hooks/useLocation'
|
||||
import { isAuthValid } from '@/utils/features/auth/authSlice'
|
||||
import { PlayerLocation } from '@/utils/features/location/locationSlice'
|
||||
import { useStartGeolocationServiceEffect } from '@/utils/geolocation'
|
||||
import { socket } from '@/utils/socket'
|
||||
|
||||
export default function GeolocationProvider({ children }: { children: ReactNode }) {
|
||||
useStartGeolocationServiceEffect()
|
||||
@ -51,10 +51,14 @@ export default function GeolocationProvider({ children }: { children: ReactNode
|
||||
setLastPlayerLocations(lastLocationsQuery.data)
|
||||
}, [lastLocationsQuery.status, lastLocationsQuery.dataUpdatedAt])
|
||||
|
||||
socket.on('last-location', (data: PlayerLocation) => {
|
||||
if (data.playerId)
|
||||
setLastPlayerLocation(data)
|
||||
})
|
||||
useEffect(() => {
|
||||
const locationListener = async (data: PlayerLocation) => {
|
||||
if (data.playerId)
|
||||
setLastPlayerLocation(data)
|
||||
}
|
||||
socket.on('last-location', locationListener)
|
||||
return () => { socket.off('last-location', locationListener) }
|
||||
}, [])
|
||||
|
||||
return <>
|
||||
{children}
|
||||
|
Reference in New Issue
Block a user