import React, { useState, useEffect } from 'react'; import { db } from '../../firebase/config'; import { ref, onValue } from 'firebase/database'; import { Users, Truck, Heart, Star, Phone, MapPin, History, Search } from 'lucide-react'; export default function CRMManager() { const [customers, setCustomers] = useState([]); const [deliveryOrders, setDeliveryOrders] = useState([]); const [searchTerm, setSearchTerm] = useState(''); useEffect(() => { // Analytics for CRM (from Orders) onValue(ref(db, 'orders'), (snapshot) => { const data = snapshot.val(); if (data) { const orders = Object.values(data); const customerMap = {}; const deliveries = []; orders.forEach(order => { if (order.customerEmail) { const email = order.customerEmail; if (!customerMap[email]) { customerMap[email] = { email, name: order.customerName || 'Cliente', totalSpent: 0, orderCount: 0, lastOrder: 0 }; } customerMap[email].totalSpent += order.total; customerMap[email].orderCount += 1; if (order.timestamp > customerMap[email].lastOrder) { customerMap[email].lastOrder = order.timestamp; } } if (order.type === 'delivery') { deliveries.push(order); } }); setCustomers(Object.values(customerMap).sort((a,b) => b.totalSpent - a.totalSpent)); setDeliveryOrders(deliveries.sort((a,b) => b.timestamp - a.timestamp)); } }); }, []); const filteredCustomers = customers.filter(c => c.email.toLowerCase().includes(searchTerm.toLowerCase()) || c.name.toLowerCase().includes(searchTerm.toLowerCase()) ); return (
Gestión de clientes frecuentes y seguimiento de delivery
No hay pedidos delivery recientes
}