import { apiClient } from './apiClient'; import { Provider, CatalogItem, Order, DeliveryAgent, Location } from '../interfaces'; const mockProviders: Provider[] = [ { id: 'p1', imageUrl: '', name: 'Pizza Planet', rating: 4.5, deliveryTime: '25 min', tag: 'Food', discountText: '50% OFF', serviceType: 'Italian' }, { id: 'p2', imageUrl: '', name: 'Fresh Mart', rating: 4.2, deliveryTime: '30 min', tag: 'Groceries', discountText: '20% OFF', serviceType: 'Grocery' }, { id: 'p3', imageUrl: '', name: 'MediQuick', rating: 4.7, deliveryTime: '15 min', tag: 'Pharmacy', discountText: undefined, serviceType: 'Pharmacy' }, { id: 'p4', imageUrl: '', name: 'Burger Barn', rating: 4.3, deliveryTime: '20 min', tag: 'Food', discountText: 'Buy 1 Get 1', serviceType: 'Fast Food' }, { id: 'p5', imageUrl: '', name: 'Green Basket', rating: 4.0, deliveryTime: '35 min', tag: 'Groceries', discountText: undefined, serviceType: 'Organic' }, ]; const mockCatalogItems: CatalogItem[] = [ { id: 'i1', imageUrl: '', title: 'Margherita Pizza', description: 'Classic cheese and tomato', price: 299, category: 'Pizza' }, { id: 'i2', imageUrl: '', title: 'Pepperoni Pizza', description: 'Loaded with pepperoni slices', price: 399, category: 'Pizza' }, { id: 'i3', imageUrl: '', title: 'French Fries', description: 'Crispy golden fries', price: 99, category: 'Sides' }, { id: 'i4', imageUrl: '', title: 'Garlic Bread', description: 'Toasted bread with garlic butter', price: 149, category: 'Sides' }, { id: 'i5', imageUrl: '', title: 'Chocolate Shake', description: 'Rich chocolate milkshake', price: 199, category: 'Beverages' }, { id: 'i6', imageUrl: '', title: 'Cola', description: 'Refreshing cold drink', price: 49, category: 'Beverages' }, ]; export const deliveryService = { async getProviders() { return apiClient.get('/providers', mockProviders); }, async getProviderCatalog(providerId: string) { return apiClient.get(`/providers/${providerId}/catalog`, mockCatalogItems); }, async searchProviders(query: string) { const results = mockProviders.filter( (p) => p.name.toLowerCase().includes(query.toLowerCase()) || p.tag.toLowerCase().includes(query.toLowerCase()), ); return apiClient.get(`/search?q=${query}`, results); }, async placeOrder(orderData: Partial) { return apiClient.post('/orders', orderData, { success: true, order: { id: `ORD-${Date.now()}`, ...orderData, status: 'placed' as const, createdAt: new Date().toISOString(), }, }); }, async getDeliveryAgent() { const agent: DeliveryAgent = { name: 'Rahul Sharma', rating: 4.8, vehicleDetails: 'KA-01-AB-1234 - Honda Activa', phoneNumber: '+91 98765 43210', }; return apiClient.get('/delivery/agent', agent); }, async getLiveLocation() { const location: Location = { latitude: 12.9352, longitude: 77.6245, address: 'Koramangala 4th Block', city: 'Bengaluru', pincode: '560034', }; return apiClient.get('/delivery/live-location', location); }, };