// Seller.jsx — Allen Adm (Ecommerce seller) panel. // Lays the basis of the "Web primero" Allen ops surface mentioned in PRODUCT.md. // Sidebar nav + 4 sections: Dashboard, Pedidos (kanban), Productos, Mi tienda. const { useState: useSellerState } = React; const SELLER_NAV = [ { id: "dashboard", label: "Dashboard", icon: "tune" }, { id: "pedidos", label: "Pedidos", icon: "shopping_basket", badge: 4 }, { id: "productos", label: "Productos", icon: "shopping_cart" }, { id: "tienda", label: "Mi tienda", icon: "storefront" }, ]; const SellerPanel = ({ onNav }) => { const [tab, setTab] = useSellerState("dashboard"); return (
Esto pasó en tu tienda en los últimos 7 días.
| Producto | Unidades | Ingresos | Stock |
|---|---|---|---|
|
{p.name}
{p.brand}
|
{(48 - i * 7).toLocaleString("es-MX")} | ${((48 - i * 7) * p.price).toLocaleString("es-MX")} | {p.inStock || 12} disp. |
Acepta nuevos pedidos. Cuando estés online, los pedidos te avisan con sonido aunque tu cel esté en silencio.
{CATALOG.length} productos en tu catálogo
| Producto | SKU | Precio | Stock | Estado | |
|---|---|---|---|---|---|
|
{p.name}
{CATEGORIES.find(c => c.id === p.cat)?.label}
|
{p.id.toUpperCase()} | ${p.price.toLocaleString("es-MX")} | {p.inStock || 12} | {(p.inStock || 12) === 0 ? "Agotado" : (p.inStock || 12) < 5 ? "Stock bajo" : "Activo"} |
Llena los datos, sube fotos y publícalo cuando quieras.
Mínimo 1 foto. La primera es la principal. JPG o PNG, máximo 5 MB cada una.
Información pública de tu tienda en Allen.
Allen cobra una comisión transparente sobre cada venta.