fix: default event list to grid on first load
This commit is contained in:
@@ -46,6 +46,13 @@
|
|||||||
|
|
||||||
const targetEventListId = filters.dataset.eventlistId || 'eventlist';
|
const targetEventListId = filters.dataset.eventlistId || 'eventlist';
|
||||||
const list = document.getElementById(targetEventListId);
|
const list = document.getElementById(targetEventListId);
|
||||||
|
const initialStoredEventListView = (() => {
|
||||||
|
try {
|
||||||
|
return (window.localStorage.getItem('eventlist_view') || '').trim();
|
||||||
|
} catch (error) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
const applyDefaultGrid = (targetList) => {
|
const applyDefaultGrid = (targetList) => {
|
||||||
if (!targetList) {
|
if (!targetList) {
|
||||||
@@ -65,6 +72,34 @@
|
|||||||
|
|
||||||
applyDefaultGrid(list);
|
applyDefaultGrid(list);
|
||||||
|
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
window.setTimeout(() => {
|
||||||
|
if ('' !== initialStoredEventListView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const targetList = document.getElementById(targetEventListId);
|
||||||
|
|
||||||
|
if (!targetList) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
targetList.classList.remove('list');
|
||||||
|
applyDefaultGrid(targetList);
|
||||||
|
|
||||||
|
const toggleToList = document.getElementById('toggletolist');
|
||||||
|
const toggleToGrid = document.getElementById('toggletogrid');
|
||||||
|
|
||||||
|
toggleToList?.classList.remove('disabled');
|
||||||
|
toggleToGrid?.classList.add('disabled');
|
||||||
|
|
||||||
|
try {
|
||||||
|
window.localStorage.setItem('eventlist_view', 'grid');
|
||||||
|
} catch (error) {
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
|
}, { once: true });
|
||||||
|
|
||||||
const events = list ? Array.from(list.querySelectorAll(':scope > .event')) : [];
|
const events = list ? Array.from(list.querySelectorAll(':scope > .event')) : [];
|
||||||
const tagSelect = filters.querySelector('#tag-filter');
|
const tagSelect = filters.querySelector('#tag-filter');
|
||||||
const locationSelect = filters.querySelector('#location-filter');
|
const locationSelect = filters.querySelector('#location-filter');
|
||||||
|
|||||||
Reference in New Issue
Block a user