Skip to content

Commit f0736fa

Browse files
committed
fix: upcoming events logic on home and /events page
1 parent b0bf1ff commit f0736fa

5 files changed

Lines changed: 314 additions & 127 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"description": "Trivandrum Python Community Website - Static Site built with 11ty",
55
"scripts": {
66
"build": "eleventy",
7+
"test": "node tests/event-status.test.js",
78
"serve": "eleventy --serve",
89
"start": "eleventy --serve"
910
},

src/_includes/components/events.njk

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
<section id="events" class="section section--alt">
1+
<section id="events" class="section section--alt" data-home-events-section>
22
<div class="container">
33
<div class="section__header">
44
<span class="section__label">// upcoming</span>
55
<h2 class="section__title">Next Events</h2>
6-
<p class="section__subtitle">Auto-populated from upcoming dates. All are welcome — no prior experience required.</p>
6+
<p class="section__subtitle">Join our next meetup, workshop, or project night. All are welcome — no prior experience required.</p>
77
</div>
88

99
{% if collections.upcomingEvents.length > 0 %}
10-
<div class="events-list">
10+
<div class="events-list" data-home-event-list>
1111
{% for event in collections.upcomingEvents %}
12-
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row">
12+
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row" data-event-row data-event-date="{{ event.data.date | machineDate }}" data-event-time="{{ event.data.time }}" data-event-readable-date="{{ event.data.date | readableDate }}" data-event-year="{{ event.data.date | year }}" data-event-weekday="{{ event.data.date | dayOfWeek }}">
1313
<div class="event-row__date">
1414
<span class="event-row__month">{{ event.data.date | monthDay }}</span>
1515
<span class="event-row__day">{{ event.data.date | dayOfWeek }}</span>
@@ -19,12 +19,12 @@
1919
<div class="event-row__badges">
2020
<span class="badge badge--{{ event.data.type }}">{{ event.data.type | replace("-", " ") }}</span>
2121
{% if loop.first %}
22-
<span class="badge badge--next">Next up</span>
22+
<span class="badge badge--next" data-event-next-badge>Next up</span>
2323
{% endif %}
2424
</div>
2525
<h3 class="event-row__title">{{ event.data.title }}</h3>
2626
<div class="event-row__meta">
27-
<span>{{ event.data.time }}</span>
27+
<span data-event-meta-primary>{{ event.data.time }}</span>
2828
<span class="event-row__sep">·</span>
2929
<span>{{ event.data.venue }}</span>
3030
</div>
@@ -41,12 +41,12 @@
4141
</a>
4242
{% endfor %}
4343
</div>
44-
{% else %}
45-
<div class="empty-state">
44+
{% endif %}
45+
46+
<div class="empty-state" data-home-empty-state{% if collections.upcomingEvents.length > 0 %} hidden{% endif %}>
4647
<p>No upcoming events right now. Stay tuned!</p>
47-
<a href="{{ site.links.telegram }}" class="btn btn--outline" target="_blank" rel="noopener">Join Telegram for updates</a>
48+
<a href="{{ site.links.whatsapp }}" class="btn btn--outline" target="_blank" rel="noopener">Join WhatsApp community</a>
4849
</div>
49-
{% endif %}
5050

5151
<div class="section__footer">
5252
<a href="{{ site.links.luma }}" class="btn btn--primary" target="_blank" rel="noopener">

src/_includes/event.njk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@
6767
{% include "header.njk" %}
6868

6969
<main>
70-
<article class="event-page">
70+
<article class="event-page" data-event-page data-event-date="{{ date | machineDate }}">
7171
<div class="container">
7272
<a href="{{ '/events/' | url }}" class="event-page__back">← All Events</a>
7373

7474
<header class="event-page__header">
7575
<div class="event-page__badges">
7676
<span class="badge badge--{{ type }}">{{ type | replace("-", " ") }}</span>
7777
{% if date | isFuture %}
78-
<span class="badge badge--next">Upcoming</span>
78+
<span class="badge badge--next" data-event-future-only>Upcoming</span>
7979
{% endif %}
8080
</div>
8181

@@ -138,7 +138,7 @@
138138
{% endif %}
139139

140140
{% if registration_url and (date | isFuture) %}
141-
<div class="event-page__cta">
141+
<div class="event-page__cta" data-event-future-only>
142142
<a href="{{ registration_url }}" class="btn btn--primary btn--lg" target="_blank" rel="noopener">Register for this event →</a>
143143
</div>
144144
{% endif %}

src/events-page.njk

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@ permalink: events/index.html
1515
</a>
1616
</div>
1717

18-
{% if collections.upcomingEvents.length > 0 %}
19-
<div class="events-page__group">
18+
<div class="events-page__group" data-event-group="upcoming"{% if collections.upcomingEvents.length == 0 %} hidden{% endif %}>
2019
<h3 class="events-page__group-title">Upcoming</h3>
21-
<div class="events-list">
20+
<div class="events-list" data-event-list="upcoming">
2221
{% for event in collections.upcomingEvents %}
23-
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row">
22+
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row" data-event-row data-event-date="{{ event.data.date | machineDate }}" data-event-time="{{ event.data.time }}" data-event-readable-date="{{ event.data.date | readableDate }}" data-event-year="{{ event.data.date | year }}" data-event-weekday="{{ event.data.date | dayOfWeek }}">
2423
<div class="event-row__date">
2524
<span class="event-row__month">{{ event.data.date | monthDay }}</span>
2625
<span class="event-row__day">{{ event.data.date | dayOfWeek }}</span>
@@ -30,12 +29,12 @@ permalink: events/index.html
3029
<div class="event-row__badges">
3130
<span class="badge badge--{{ event.data.type }}">{{ event.data.type | replace("-", " ") }}</span>
3231
{% if loop.first %}
33-
<span class="badge badge--next">Next up</span>
32+
<span class="badge badge--next" data-event-next-badge>Next up</span>
3433
{% endif %}
3534
</div>
3635
<h3 class="event-row__title">{{ event.data.title }}</h3>
3736
<div class="event-row__meta">
38-
<span>{{ event.data.time }}</span>
37+
<span data-event-meta-primary>{{ event.data.time }}</span>
3938
<span class="event-row__sep">·</span>
4039
<span>{{ event.data.venue }}</span>
4140
</div>
@@ -59,14 +58,12 @@ permalink: events/index.html
5958
{% endfor %}
6059
</div>
6160
</div>
62-
{% endif %}
6361

64-
{% if collections.pastEvents.length > 0 %}
65-
<div class="events-page__group">
62+
<div class="events-page__group" data-event-group="past"{% if collections.pastEvents.length == 0 %} hidden{% endif %}>
6663
<h3 class="events-page__group-title">Past</h3>
67-
<div class="events-list">
64+
<div class="events-list" data-event-list="past">
6865
{% for event in collections.pastEvents %}
69-
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row event-row--past">
66+
<a href="{{ '/events/' | url }}{{ event.fileSlug }}/" class="event-row event-row--past" data-event-row data-event-date="{{ event.data.date | machineDate }}" data-event-time="{{ event.data.time }}" data-event-readable-date="{{ event.data.date | readableDate }}" data-event-year="{{ event.data.date | year }}" data-event-weekday="{{ event.data.date | dayOfWeek }}">
7067
<div class="event-row__date">
7168
<span class="event-row__month">{{ event.data.date | monthDay }}</span>
7269
<span class="event-row__day">{{ event.data.date | year }}</span>
@@ -81,7 +78,7 @@ permalink: events/index.html
8178
</div>
8279
<h3 class="event-row__title">{{ event.data.title }}</h3>
8380
<div class="event-row__meta">
84-
<span>{{ event.data.date | readableDate }}</span>
81+
<span data-event-meta-primary>{{ event.data.date | readableDate }}</span>
8582
<span class="event-row__sep">·</span>
8683
<span>{{ event.data.venue }}</span>
8784
</div>
@@ -105,6 +102,5 @@ permalink: events/index.html
105102
{% endfor %}
106103
</div>
107104
</div>
108-
{% endif %}
109105
</div>
110106
</section>

0 commit comments

Comments
 (0)