import React from 'react'; import { Search, Package, Plus, Calculator, Trash2, Minus, ShoppingCart, CheckCircle2, Facebook, Tag, ToggleLeft, ToggleRight } from 'lucide-react'; import { useCRM } from '../context/CRMContext'; import MarketplaceAnalytic from '../components/MarketplaceAnalytic'; const Sourcing: React.FC = () => { const { searchTerm, setSearchTerm, handleSearch, handleOpportunitySearch, products, selectedProduct, setSelectedProduct, addToShoppingList, shoppingList, removeFromShoppingList, updateShoppingItemQuantity, saveOrderAsQuotation, calculateShoppingTotals, overheadPercent, useOverhead, setUseOverhead, searchLoading, searchError, searchType, setSearchType } = useCRM(); const onSearchSubmit = (e: React.FormEvent) => { e.preventDefault(); if (searchType === 'specific') { handleSearch(e); } else { handleOpportunitySearch(searchTerm); } }; const handleUpdateQuantity = (item: any, delta: number) => { updateShoppingItemQuantity(item.id, delta); }; const handleRemoveItem = (id: string) => { removeFromShoppingList(id); }; return (
{/* COLUNA 1: BUSCA */}
{/* TABS */}
{searchType === 'specific' ? : }

{searchType === 'specific' ? 'Sourcing Real-Time' : 'Caçador de Margem (>25%)'}

setSearchTerm(e.target.value)} placeholder={searchType === 'specific' ? "Ex: iPhone 16 Pro Max" : "Ex: Celulares, Drones, Games"} className={`w-full bg-slate-900/50 border border-white/10 rounded-2xl py-4 pl-12 pr-4 text-sm font-semibold outline-none transition-all text-white placeholder-slate-600 shadow-inner ${searchType === 'specific' ? 'focus:border-indigo-500' : 'focus:border-emerald-500'}`} /> {searchError && (

{searchError}

)}
{searchLoading ? (

Consultando Compras Paraguai...

) : products.map((p, idx) => (
setSelectedProduct(p)} className={`p-5 rounded-3xl border-2 cursor-pointer transition-all hover:scale-[1.02] active:scale-95 ${selectedProduct?.name === p.name ? 'border-indigo-500 bg-indigo-500/10 shadow-md' : 'border-white/5 bg-white/5 hover:border-white/10 hover:bg-white/10' }`} >
{p.store}

{p.name}

US$ {p.priceUSD.toFixed(2)}

R$ {p.priceBRL.toLocaleString('pt-BR')}

{p.salesVolume && ( {p.salesVolume} )}
))} {!searchLoading && products.length === 0 && (

Aguardando seu input

)}
{/* COLUNA 2: ANÁLISE DETALHADA */}
{selectedProduct ? ( ) : (

Analítica de Arbitragem

Selecione um produto para ver a comparação de margem real entre os marketplaces do Brasil e sua venda direta no Facebook.

)}
{/* COLUNA 3: COTAÇÃO / CRM CHECKOUT */}

Minha Cotação

Sourcing Ativo

{shoppingList.length}
{shoppingList.length > 0 ? ( shoppingList.map(item => (
{item.store}

{item.name}

US$ {item.priceUSD.toFixed(2)}

{item.quantity}
)) ) : (

Carrinho Vazio

)}
R$ {calculateShoppingTotals().totalCostWithOverhead.toLocaleString('pt-BR')}
Subtotal Paraguai US$ {calculateShoppingTotals().totalUSD.toLocaleString('en-US')}
Lucro Est. Final
R$ {calculateShoppingTotals().totalApproxProfit.toLocaleString('pt-BR')}
); }; export default Sourcing;