/* Torre Auro — El Calendario (eventos del ecosistema) */
/* Helper: format ISO date to nice MX format */
function fmtMonth(iso) {
const d = new Date(iso + 'T12:00:00');
return d.toLocaleDateString('es-MX', { month:'long', year:'numeric' });
}
function fmtDay(iso) {
const d = new Date(iso + 'T12:00:00');
return d.toLocaleDateString('es-MX', { day:'numeric', month:'short' }).replace('.', '');
}
function fmtDayNum(iso) {
return new Date(iso + 'T12:00:00').getDate();
}
function fmtMonthShort(iso) {
return new Date(iso + 'T12:00:00').toLocaleDateString('es-MX', { month:'short' }).replace('.', '').toUpperCase();
}
/* Featured (apertura) ─── */
function FeaturedEvent({ event }) {
const acc = NICHE_ACC[event.niche] || 'var(--gold)';
return (
navigate('/eventos/' + event.slug)}>
);
}
/* Index ─── */
function EventosIndex() {
const featured = EVENTS.find(e => e.status === 'featured');
const upcoming = EVENTS
.filter(e => e.status === 'upcoming')
.sort((a, b) => a.dateISO.localeCompare(b.dateISO));
const past = EVENTS
.filter(e => e.status === 'past')
.sort((a, b) => b.dateISO.localeCompare(a.dateISO));
return (
{/* Hero */}
/ El calendario del ecosistema
La agenda de Torre Auro.
Conversaciones, cumbres, cócteles y sesiones cerradas a lo largo del año. La mayoría son por invitación o cupo limitado — el calendario es la conversación viva del ecosistema.
Cada evento del calendario está pensado para uno de los cuatro ecosistemas — o para todos. La selección de asistentes es curada; algunos eventos son por invitación cerrada.