// TopBar.jsx — Comesa header + category tabs + search + price/cata toggles const TopBar = ({ category, onCategory, categories, counts, showPrices, onTogglePrices, showCata, onToggleCata, esComercial, selectionMode, onToggleSelectionMode, showMenu, onMenu, vw = 1440, search, onSearch, }) => { const narrow = vw < 1280; // move category nav to its own row const compact = vw < 720; // stack tighter, allow wrapping const navEl = ( ); return (
{/* Top row */}
{/* Menu button (tablet / mobile) */} {showMenu && } {/* Brand block */}
Comesa Canarias {!compact &&
Catálogo
Vinos 2026
}
{/* Category tabs (inline only when wide) */} {!narrow && navEl} {/* Right cluster: search + toggles */}
{/* Search */}
onSearch(e.target.value)} placeholder="Buscar vino, variedad, D.O…" style={{ flex: 1, minWidth: 0, background: 'transparent', border: 0, outline: 'none', color: '#FFFFFF', fontFamily: 'Sora', fontWeight: 300, fontSize: 13, }} /> {search && ( )}
{/* Herramientas comerciales: precios, cata y modo selección. Una visita sin sesión no las ve, y tampoco recibe los precios del servidor. */} {esComercial && <> }
{/* Category tabs row (tablet / mobile) */} {narrow && navEl}
); }; // Entrada y salida del equipo comercial. Discreto a propósito: el catálogo // público es la cara de Comesa y esto es una puerta de servicio. const AccesoLink = ({ esComercial }) => ( { e.currentTarget.style.color = '#FFFFFF'; e.currentTarget.style.borderColor = '#4A4A48'; }} onMouseLeave={(e) => { e.currentTarget.style.color = esComercial ? '#B7B6B6' : '#565555'; e.currentTarget.style.borderColor = '#2A2A28'; }}> {esComercial ? : <>} {esComercial ? 'Salir' : 'Acceso comercial'} ); const HeaderToggle = ({ on, onChange, labelOn, labelOff, title }) => { return ( ); }; const PriceToggle = ({ on, onChange }) => { return ( ); }; window.TopBar = TopBar; window.PriceToggle = PriceToggle; window.HeaderToggle = HeaderToggle;