20 lines
521 B
TypeScript
20 lines
521 B
TypeScript
// 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;
|
|
}
|