diff --git a/contao/templates/frontend/event_filter.html.twig b/contao/templates/frontend/event_filter.html.twig index 5cc9c68..6ee9cfb 100644 --- a/contao/templates/frontend/event_filter.html.twig +++ b/contao/templates/frontend/event_filter.html.twig @@ -47,11 +47,26 @@ const targetEventListId = filters.dataset.eventlistId || 'eventlist'; const list = document.getElementById(targetEventListId); + const applyDefaultGrid = (targetList) => { + if (!targetList) { + return; + } + + targetList.classList.add('event-filter-target-list'); + + targetList.style.display = 'grid'; + targetList.style.gridTemplateColumns = 'repeat(auto-fill, minmax(240px, 1fr))'; + targetList.style.gap = '1rem'; + }; + if (!list) { console.warn(`[event_filter] Target event list #${targetEventListId} was not found.`); + window.addEventListener('DOMContentLoaded', () => { + applyDefaultGrid(document.getElementById(targetEventListId)); + }, { once: true }); } - list?.classList.add('event-filter-target-list'); + applyDefaultGrid(list); const events = list ? Array.from(list.querySelectorAll(':scope > .event')) : []; const tagSelect = filters.querySelector('#tag-filter');