Affichage des dernières positions sur la carte
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { ReactNode, useEffect } from 'react'
|
||||
import { useAuth } from '@/hooks/useAuth'
|
||||
import { useQueuedLocations, useUnqueueLocation } from '@/hooks/useLocation'
|
||||
import { useQueuedLocations, 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'
|
||||
|
||||
export default function GeolocationProvider({ children }: { children: ReactNode }) {
|
||||
useStartGeolocationServiceEffect()
|
||||
@@ -11,6 +12,7 @@ export default function GeolocationProvider({ children }: { children: ReactNode
|
||||
const auth = useAuth()
|
||||
const geolocationsQueue = useQueuedLocations()
|
||||
const unqueueLocation = useUnqueueLocation()
|
||||
const setLastPlayerLocations = useSetLastPlayerLocations()
|
||||
const geolocationMutation = useGeolocationMutation({
|
||||
auth,
|
||||
onPostSuccess: (data) => {
|
||||
@@ -27,6 +29,22 @@ export default function GeolocationProvider({ children }: { children: ReactNode
|
||||
geolocationMutation.mutate(locToSend)
|
||||
}, [auth, geolocationsQueue])
|
||||
|
||||
const lastLocationsQuery = useQuery({
|
||||
queryKey: ['get-last-locations', auth.token],
|
||||
queryFn: () => fetch(`${process.env.EXPO_PUBLIC_TRAINTRAPE_MOI_SERVER}/geolocations/last-locations/`, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"Authorization": `Bearer ${auth.token}`,
|
||||
"Content-Type": "application/json",
|
||||
}}
|
||||
).then(resp => resp.json()),
|
||||
refetchInterval: 5000,
|
||||
})
|
||||
useEffect(() => {
|
||||
if (lastLocationsQuery.isSuccess && lastLocationsQuery.data)
|
||||
setLastPlayerLocations(lastLocationsQuery.data)
|
||||
}, [lastLocationsQuery.status, lastLocationsQuery.dataUpdatedAt])
|
||||
|
||||
return <>
|
||||
{children}
|
||||
</>
|
||||
|
Reference in New Issue
Block a user