// ============================================================ // PACE — Secciones C: Tienda, Revista HEAT, Inscripción // ============================================================ // ---- Tarjeta de producto con género + tallas ---- function MerchCard({ m, index }) { const [gender, setGender] = React.useState(m.genders[0]); const [size, setSize] = React.useState(""); const chip = (active) => ({ border: "1px solid " + (active ? "var(--orange)" : "var(--line)"), background: active ? "var(--orange)" : "transparent", color: active ? "#fff" : "var(--cream-dim)", borderRadius: 99, padding: "8px 14px", fontSize: 13, fontWeight: 600, cursor: "pointer", transition: "all 0.25s var(--ease-out)", fontFamily: "var(--font-body)", }); const variant = (m.genders.length > 1 ? gender : "") + (size ? (gender && m.genders.length > 1 ? " · " : "") + "Talla " + size : ""); const msg = "Hola, quiero pedir: " + m.name + (variant ? " (" + variant + ")" : ""); return (
{m.img ? ( {m.name} ) : ( PACE Foto próximamente )}
{m.line}

{m.name}

{m.price && {PACE.cop(m.price)}}

{m.desc}

{m.genders.length > 1 && (
{m.genders.map((g) => ( ))}
)}
{PACE.sizes.map((s) => ( ))}
Comprar → ¿Dudas de talla? Escríbenos
); } // ---- Tienda ---- function StorePage() { return (
Merch oficial

La tienda

Lo que usamos para entrenar, descansar y representar al club. Elige talla y color, paga seguro y a correr.

{PACE.merch.map((m, i) => ( ))}

Pago seguro con dLocal · Tarjetas · PSE · Nequi · Disponibilidad sujeta a stock.

); } // ---- Revista HEAT (expectativa / próximamente) ---- function MagazinePage() { return (
La revista digital de PACE

HEAT

Un heat de parte nuestra para el mundo.

Edición 001 · Muy pronto

Un heat es una serie. Una tanda de corredores en la línea de salida, esperando el disparo. Eso será HEAT: historias reales de la manada, contadas de frente desde Bogotá a 2.640 metros.

Estamos preparando la primera edición. Déjanos tu correo por WhatsApp o síguenos para ser de los primeros en leerla.

Avísame del lanzamiento → {PACE.instagramHandle}
); } // ---- Formulario de inscripción ---- function SignupPage() { const [form, setForm] = React.useState({ nombre: "", meta: "PACE 5K · Tu primera meta real", nivel: "Estoy empezando", nota: "" }); const set = (k) => (e) => setForm({ ...form, [k]: e.target.value }); const metas = [ "Start Run · Corre desde cero", "PACE 5K · Tu primera meta real", "PACE 10K · Corre más fuerte", "PACE 21K · Media maratón", "Maratón · Manejo personalizado", "Programa Presencial · Bogotá", "Plan Online", "PACE Athletics · Niños", ]; const niveles = ["Estoy empezando", "Corro de vez en cuando", "Entreno regularmente", "Compito"]; const submit = (e) => { e.preventDefault(); const msg = "Hola, quiero inscribirme en PACE.\n" + "Nombre: " + form.nombre + "\n" + "Meta: " + form.meta + "\n" + "Nivel: " + form.nivel + (form.nota ? "\nNota: " + form.nota : ""); window.open(PACE.waLink(msg), "_blank"); }; const inputStyle = { width: "100%", background: "rgba(244,239,233,0.05)", border: "1px solid var(--line)", borderRadius: 14, color: "var(--cream)", fontSize: 15, fontFamily: "var(--font-body)", padding: "16px 18px", outline: "none", boxSizing: "border-box", }; const labelStyle = { display: "block", fontSize: 11, letterSpacing: "0.14em", textTransform: "uppercase", fontFamily: "var(--font-mono)", color: "var(--cream-faint)", margin: "0 0 10px", }; return (
Inscripción

Da el primer paso

Cuéntanos quién eres y a dónde quieres llegar. Te respondemos el mismo día con el plan ideal y el link de pago seguro.

    {["Respuesta el mismo día", "Pago seguro con dLocal", "Primera sesión de prueba sin costo"].map((p) => (
  • {p}
  • ))}

Se abre un chat con tu información lista para enviar

); } Object.assign(window, { StorePage, MagazinePage, SignupPage, MerchCard });