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/slices/jobSlice'; import { useNavigation } 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 activeJob = useAppSelector((state) => state.job.activeJob); const handleArrived = () => { dispatch(advanceJobStatus(JobStatus.ArrivedAtCustomer)); navigation.navigate(RouteNames.ArrivedAtCustomer); }; const handleContact = () => { Alert.alert('Contact Customer', `Calling ${activeJob?.dropName || 'Customer'} (+91 99887 76655)...`); }; if (!activeJob) return null; return ( {/* Top Floating ETA Card */} Arriving in 8 mins Distance: {activeJob.distance} km • Speed: 24 km/h {/* Map Background Placeholder */} [ Map Placeholder ] {/* Customer Location Bottom Card */} Deliver to {activeJob.dropName} {activeJob.dropAddress} ); }; export default LiveTrackingScreen;