feat(map): add event-driven GPS update
This commit is contained in:
19
src/hooks/useRealtimeGps.ts
Normal file
19
src/hooks/useRealtimeGps.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
// src/hooks/useRealtimeGps.ts
|
||||
import { useEffect, useState } from 'react';
|
||||
import { eventBus } from '@/utils/eventBus';
|
||||
|
||||
export default function useRealtimeGps() {
|
||||
const [gpsData, setGpsData] = useState<API.GPSResonse | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const handleGpsUpdate = (data: API.GPSResonse) => {
|
||||
setGpsData(data);
|
||||
};
|
||||
eventBus.on('gpsData:update', handleGpsUpdate);
|
||||
|
||||
// cleanup khi unmount
|
||||
return () => eventBus.off('gpsData:update', handleGpsUpdate);
|
||||
}, []);
|
||||
|
||||
return gpsData;
|
||||
}
|
||||
Reference in New Issue
Block a user