import React, { useState } from 'react'; import { useDemoStore, DeliveryItem } from '../../mock/store'; import { Badge } from '../../shared/components/Badge'; import { Button } from '../../shared/components/Button'; import { formatCurrency } from '../../shared/utils/formatters'; import { Truck, MapPin, Phone, CheckCircle2, Smartphone, } from 'lucide-react'; export interface DeliveryViewProps { initialMobile?: boolean; } export const DeliveryView: React.FC = ({ initialMobile = false }) => { const { deliveries, updateDeliveryStatus } = useDemoStore(); const [courierMobileMode, setCourierMobileMode] = useState(initialMobile); const getStatusBadge = (status: DeliveryItem['status']) => { switch (status) { case 'in_transit': return Курьер в пути; case 'delivered': return Доставлен; case 'pending': default: return Ожидает курьера; } }; return (

Управление доставкой & Мониторинг курьеров

Логистический контур: распределение заказов, расчет времени прибытия (ETA) и контроль налички

{courierMobileMode ? ( /* Courier Mobile-First Screen */

Алексей Смирнов (Авто)

Смена активна • Наличные: 24 500 ₽
Онлайн
Мои текущие доставки ({deliveries.filter((d) => d.status !== 'delivered').length}) {deliveries.map((del) => (
{del.orderId} {getStatusBadge(del.status)}
{del.address}
{del.recipientName} {del.phone}
К оплате: {formatCurrency(del.amount)} ({del.paymentMethod})
{del.status === 'pending' && ( )} {del.status === 'in_transit' && ( )}
))}
) : ( /* Dispatcher Desktop Grid */
{deliveries.map((del) => (
{del.orderId} {getStatusBadge(del.status)}
{del.address}
Получатель: {del.recipientName}
Телефон: {del.phone}
Курьер: {del.courierName}
Сумма: {formatCurrency(del.amount)}
{del.status === 'pending' && ( )} {del.status === 'in_transit' && ( )} {del.status === 'delivered' && (
✓ Успешно доставлен
)}
))}
)}
); };