import React, { useState } from 'react'; import { View, Text, ScrollView, Alert } from 'react-native'; import { useAppTheme } from '@theme'; import { ScreenHeader, PrimaryButton } from '@components'; import { changeOrderStatusThunk, useAppDispatch, useAppSelector } from '@store'; import { completeJob } 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 { JobStatus, RouteNames } from '@utils/constants'; import { getStyles } from './deliverOrderScreen.styles'; export const DeliverOrderScreen: 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 [isLoading, setIsLoading] = useState(false); // const items = [ // { id: 0, name: 'Cappuccino (Medium)', qty: 1 }, // { id: 1, name: 'Chocolate Croissant', qty: 1 }, // ]; const handleCompleteDelivery = () => { dispatch( changeOrderStatusThunk({ deliveryId: jobId, action: JobStatus.Delivered, }), ) .unwrap() .then(() => { // dispatch(completeJob()); navigation.navigate(RouteNames.DeliveryCompleted); }); }; if (!activeJob) return null; return ( navigation.goBack()} /> {/* Customer Detail Card */} Customer Name {activeJob?.order?.customer?.user?.name} Order ID {activeJob?.orderId} {/* Items Summary list */} Items Details {activeJob?.order?.orderItems?.map(item => ( {item.name} x{item.quantity} ))} {/* Payment Collect Details */} {activeJob?.order?.paymentMethod === 'WALLET' || activeJob?.order?.paymentMethod === 'UPI' ? 'Already Paid' : 'Collect from Customer'} ₹{activeJob?.order?.totalAmount} ); }; export default DeliverOrderScreen;