All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m4s
Events provides container-nav (calendar entries + links) and container-cards (batch entries for blog listing) as fragments. Day and entry routes fetch market container-nav via fragment instead of widget registry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
1.2 KiB
HTML
29 lines
1.2 KiB
HTML
{# Calendar entries nav — served as fragment from events app #}
|
||
{% for entry in entries %}
|
||
{% set _entry_path = '/' + post_slug + '/calendars/' + entry.calendar_slug + '/' + entry.start_at.year|string + '/' + entry.start_at.month|string + '/' + entry.start_at.day|string + '/entries/' + entry.id|string + '/' %}
|
||
<a
|
||
href="{{ events_url(_entry_path) }}"
|
||
class="{{styles.nav_button_less_pad}}"
|
||
>
|
||
<div class="w-8 h-8 rounded bg-stone-200 flex-shrink-0"></div>
|
||
<div class="flex-1 min-w-0">
|
||
<div class="font-medium truncate">{{ entry.name }}</div>
|
||
<div class="text-xs text-stone-600 truncate">
|
||
{{ entry.start_at.strftime('%b %d, %Y at %H:%M') }}
|
||
{% if entry.end_at %} – {{ entry.end_at.strftime('%H:%M') }}{% endif %}
|
||
</div>
|
||
</div>
|
||
</a>
|
||
{% endfor %}
|
||
|
||
{# Infinite scroll sentinel — URL points back to the consumer app #}
|
||
{% if has_more and paginate_url_base %}
|
||
<div id="entries-load-sentinel-{{ page }}"
|
||
hx-get="{{ paginate_url_base }}?page={{ page + 1 }}"
|
||
hx-trigger="intersect once"
|
||
hx-swap="beforebegin"
|
||
_="on htmx:afterRequest trigger scroll on #associated-entries-container"
|
||
class="flex-shrink-0 w-1">
|
||
</div>
|
||
{% endif %}
|