import React from 'react'; import { View, Text, Alert } from 'react-native'; import { useAppTheme } from '@theme'; import { PrimaryButton } from '@components'; import { useAppDispatch, useAppSelector } from '@store'; import { advanceJobStatus } from '@store/commonReducers/job'; import { RouteProp, useNavigation, useRoute } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import { AppStackParamList } from '@navigation/navigationTypes'; import { RouteNames, JobStatus } from '@utils/constants'; import { getStyles } from './liveTrackingScreen.styles'; export const LiveTrackingScreen: React.FC = () => { const { colors } = useAppTheme(); const styles = getStyles(colors); const dispatch = useAppDispatch(); const navigation = useNavigation>(); const route = useRoute>(); const { jobId } = route.params; const { activeDeliveries } = useAppSelector(state => state.deliveries); const activeJob = activeDeliveries?.delivery; const handleArrived = () => { dispatch(advanceJobStatus(JobStatus.ArrivedAtCustomer)); navigation.navigate(RouteNames.DeliverOrder, { jobId: jobId, }); }; const handleContact = () => { Alert.alert( 'Contact Customer', `Calling ${activeJob?.order?.customer?.user?.name || 'Customer'} at ${ activeJob?.order?.customer?.user?.phone } `, ); }; // if (!activeJob) return null; return ( {/* Top Floating ETA Card */} Arriving in 8 mins Distance: {activeJob?.estimatedDistanceKm} km • Speed: 24 km/h {/* Map Background Placeholder */} [ Map Placeholder ] {/* Customer Location Bottom Card */} Deliver to {activeJob?.order?.customer?.user?.name} {activeJob?.order?.dropAddress?.houseNumber + ', ' + activeJob?.order?.dropAddress?.addressLine1} ); }; export default LiveTrackingScreen;