dsg
INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('335','2','u6/driver','discover','js/discoverpage.js----','import app from \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"./app.js\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";\r\nimport store from \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"./store.js\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";\r\nvar $ = Dom7;\r\n\r\nvar trendingEventsStore = store.getters.getTrendingEvents;\r\nvar trendingVenuesStore = store.getters.getTrendingVenues;\r\nvar eventCategories = store.getters.getEventCategories;\r\nvar filteredEventsStore = store.getters.getFilteredEvents;\r\nvar filteredVenuesStore = store.getters.getFilteredVenues;\r\nvar trendingUsersStore = store.getters.getTrendingUsers;\r\n\r\nvar isFetchingPosts = false\r\nvar currentEventsPage = 1\r\nvar currentVenuesPage = 1\r\nvar currentUsersPage = 1\r\nvar refreshed = false\r\n\r\nvar totalEventPages = 1\r\nvar totalVenuesPages = 1\r\nvar totalUsersPages = 1\r\n\r\nvar autocomplete;\r\nvar filters = {};\r\n\r\n//AUTOCOMPLETE FUNCTIONS\r\nfunction initAutocomplete() {\r\n autocomplete = new google.maps.places.Autocomplete(\r\n document.getElementById(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"autocomplete\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"), {\r\n types: [\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"establishment\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"geocode\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"],\r\n componentRestrictions: {\r\n country: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'GB\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\r\n }\r\n }\r\n );\r\n autocomplete.setFields([\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"geometry\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"address_component\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]);\r\n autocomplete.addListener(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"place_changed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\", fillInAddress);\r\n}\r\n\r\nfunction fillInAddress() {\r\n const place = autocomplete.getPlace();\r\n\r\n console.log(place);\r\n\r\n document.getElementById(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'lat\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').value = place.geometry.location.lat();\r\n document.getElementById(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'lng\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').value = place.geometry.location.lng();\r\n}\r\n\r\nfunction populateEventCard(data = [], isSwiper = true) {\r\n const swiperContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#trending-events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n if (isSwiper) swiperContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n if (refreshed) {\r\n eventsTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n }\r\n\r\n data.forEach(event => {\r\n const startDate = new Date(event.start_date);\r\n const endDate = new Date(event.end_date);\r\n // const startDate = new Date(event.dates[0].start_date);\r\n // const endDate = new Date(event.dates[0].end_date);\r\n\r\n let endDateString = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n if (startDate.getDate() !== endDate.getDate()) {\r\n endDateString = `\r\n
\r\n

${endDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}

\r\n
${endDate.getDate()}
\r\n
\r\n `\r\n }\r\n\r\n const card = `\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}

\r\n
${startDate.getDate()}
\r\n
\r\n ${endDateString}\r\n
\r\n
\r\n
\r\n

${event.title}

\r\n

Starts ${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { weekday: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}, ${startDate.getDate()} ${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })} ${startDate.getFullYear()}

\r\n
\r\n ${event.location}\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n\r\n if (isSwiper) {\r\n const swiperSlide = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'swiper-slide\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n swiperSlide.innerHTML = card;\r\n swiperContainer.appendChild(swiperSlide);\r\n }\r\n\r\n eventsTabContainer.innerHTML += card;\r\n });\r\n}\r\n\r\nfunction populateVenueCard(data = [], isSwiper = true) {\r\n const swiperContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#trending-venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n if (isSwiper) swiperContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n data.forEach(event => {\r\n const swiperSlide = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'swiper-slide\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n const card = `\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

${event.title}

\r\n
\r\n ${event.venue_location}\r\n
\r\n
\r\n Apprx. ${event.distance} miles away\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n\r\n if (isSwiper) {\r\n swiperSlide.innerHTML = card;\r\n swiperContainer.appendChild(swiperSlide);\r\n }\r\n\r\n eventsTabContainer.innerHTML += card;\r\n });\r\n\r\n\r\n}\r\n\r\nfunction populateUsersCard(data = []) {\r\n const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users-vehicles-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n data.forEach(user => {\r\n let linkTo = user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ? `/profile-view/${user.id}` : `/profile-garage-vehicle-view/${user.id}`;\r\n let title;\r\n\r\n if (user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n title = user.name;\r\n }\r\n\r\n if (user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n const userName = user.owner.username;\r\n const vehicleName = user.title;\r\n\r\n title = `${vehicleName}
Owner ${userName}`;\r\n }\r\n\r\n\r\n const card = `\r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${title}
    \r\n
    \r\n
    \r\n
  • \r\n `;\r\n tabContainer.innerHTML += card;\r\n });\r\n}\r\n\r\nfunction addCategoryOptions(categories) {\r\n const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n categories.forEach(category => {\r\n const listItem = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'li\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n listItem.innerHTML = `\r\n \r\n `;\r\n\r\n categoryFilters.appendChild(listItem);\r\n });\r\n}\r\n\r\n// Event listener for the submit button\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.apply-filters\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n const dateFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const locationFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#location-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n e.preventDefault(); // Prevent form submission if you\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'re handling it via JavaScript\r\n const selectedCats = [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);\r\n const selectedLocation = [...locationFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"radio\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);\r\n const dateFilter = [...dateFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);\r\n\r\n filters = {\r\n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_location\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': selectedLocation,\r\n // \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'custom_location\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': location,\r\n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_date\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': dateFilter,\r\n // \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_start\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': customDateRange?.start,\r\n // \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_end\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': customDateRange?.end,\r\n \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_category\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': !selectedCats?.includes(0) ? selectedCats : undefined,\r\n };\r\n\r\n // get active tab\r\n const activeTab = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.tabbar-nav .tab-link-active\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').getAttribute(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'data-id\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n if (activeTab === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {\r\n page: 1,\r\n filters\r\n })\r\n\r\n currentEventsPage = 1\r\n isFetchingPosts = false\r\n\r\n const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n eventsTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n }\r\n\r\n if (activeTab === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {\r\n page: 1,\r\n filters\r\n })\r\n\r\n currentVenuesPage = 1\r\n isFetchingPosts = false\r\n\r\n const venuesTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n venuesTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n }\r\n\r\n // close popup\r\n app.popup.close()\r\n});\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n var allCheckbox = categoryFilters.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n const targetCheckbox = e.target;\r\n\r\n if (targetCheckbox.name !== \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\") {\r\n // If any other checkbox is selected, uncheck \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\r\n if (targetCheckbox.checked) {\r\n allCheckbox.checked = false;\r\n } else {\r\n // If all other checkboxes are unchecked, check \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\r\n const allUnchecked = [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')]\r\n .filter(cb => cb.name !== \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\r\n .every(cb => !cb.checked);\r\n\r\n if (allUnchecked) {\r\n allCheckbox.checked = true;\r\n }\r\n }\r\n } else {\r\n // If \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" is selected, uncheck all other checkboxes\r\n if (targetCheckbox.checked) {\r\n [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')]\r\n .filter(cb => cb.name !== \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\")\r\n .forEach(cb => cb.checked = false);\r\n }\r\n }\r\n});\r\n\r\neventCategories.onUpdated((data) => {\r\n addCategoryOptions(data);\r\n})\r\n\r\ntrendingVenuesStore.onUpdated((data) => {\r\n totalVenuesPages = data.total_pages\r\n\r\n populateVenueCard(data.data);\r\n});\r\n\r\ntrendingEventsStore.onUpdated((data) => {\r\n totalEventPages = data.total_pages\r\n\r\n populateEventCard(data.data);\r\n});\r\n\r\ntrendingUsersStore.onUpdated((data) => {\r\n const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users-vehicles-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n if (!data || data.data.length === 0) {\r\n tabContainer.innerHTML = `\r\n
    \r\n

    No trending users found for you

    \r\n
    \r\n `;\r\n return\r\n }\r\n\r\n totalUsersPages = data.total_pages\r\n\r\n if ((totalUsersPages == data.page) || (totalUsersPages == 0) || (data.new_data.length < 10)) {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.users-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()\r\n } else {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.users-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()\r\n }\r\n\r\n populateUsersCard(data.new_data);\r\n});\r\n\r\n// Filtered views\r\nfilteredEventsStore.onUpdated((data) => {\r\n const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n if (!data || data.data.length === 0) {\r\n eventsTabContainer.innerHTML = `\r\n
    \r\n

    No events found

    \r\n
    \r\n `;\r\n return\r\n }\r\n\r\n totalEventPages = data.total_pages\r\n\r\n if ((totalEventPages == data.page) || (totalEventPages == 0) || (data.new_data.length < 10)) {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()\r\n } else {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()\r\n }\r\n\r\n populateEventCard(data.new_data, false);\r\n});\r\n\r\nfilteredVenuesStore.onUpdated((data) => {\r\n const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n if (!data || data.data.length === 0) {\r\n tabContainer.innerHTML = `\r\n
    \r\n

    No venues found

    \r\n
    \r\n `;\r\n\r\n totalVenuesPages = 0\r\n return\r\n }\r\n\r\n if ((totalVenuesPages == data.page) || (totalVenuesPages == 0) || (data.new_data.length == 0)) {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()\r\n totalVenuesPages = 0\r\n } else {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()\r\n totalVenuesPages = data.total_pages\r\n populateVenueCard(data.new_data, false);\r\n }\r\n});\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:init\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"discover\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n //Date Filters\r\n app.calendar.create({\r\n inputEl: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-from\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n openIn: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'customModal\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n header: true,\r\n footer: true,\r\n });\r\n\r\n app.calendar.create({\r\n inputEl: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-to\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n openIn: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'customModal\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n header: true,\r\n footer: true,\r\n });\r\n\r\n //Filter Date Popup\r\n app.popup.create({\r\n el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bydate-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\r\n });\r\n\r\n //Filter Category Popup\r\n app.popup.create({\r\n el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bycategory-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\r\n });\r\n\r\n //Filter Location Popup\r\n app.popup.create({\r\n el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bylocation-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\r\n });\r\n\r\n //SEARCH BAR\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-search\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mousedown\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (event) {\r\n event.preventDefault();\r\n app.views.discover.router.navigate(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/search/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n });\r\n\r\n const dateFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const locationFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#location-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n // Event listener for checkbox selection\r\n dateFilters.addEventListener(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n const targetCheckbox = e.target;\r\n\r\n // Uncheck all checkboxes except the one that was clicked\r\n if (targetCheckbox.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\") {\r\n [...dateFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].forEach(checkbox => {\r\n if (checkbox !== targetCheckbox) {\r\n checkbox.checked = false;\r\n }\r\n });\r\n }\r\n });\r\n\r\n locationFilters.addEventListener(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n const targetCheckbox = e.target;\r\n\r\n // Uncheck all checkboxes except the one that was clicked\r\n if (targetCheckbox.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\") {\r\n [...locationFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].forEach(checkbox => {\r\n if (checkbox !== targetCheckbox) {\r\n checkbox.checked = false;\r\n }\r\n });\r\n }\r\n });\r\n\r\n initAutocomplete();\r\n});\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'infinite\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.infinite-scroll-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {\r\n if (isFetchingPosts) return\r\n\r\n // get active tab\r\n const activeTabId = $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.tabbar-nav .tab-link-active\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').attr(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'data-id\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n if (!activeTabId) return\r\n\r\n isFetchingPosts = true\r\n\r\n if (activeTabId == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n currentEventsPage++\r\n\r\n if (currentEventsPage <= totalEventPages) {\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {\r\n page: currentEventsPage,\r\n filters\r\n })\r\n isFetchingPosts = false\r\n }\r\n } else if (activeTabId == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n currentVenuesPage++\r\n\r\n if (currentVenuesPage <= totalVenuesPages) {\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {\r\n page: currentVenuesPage,\r\n filters\r\n })\r\n isFetchingPosts = false\r\n }\r\n } else {\r\n isFetchingPosts = false\r\n }\r\n})\r\n\r\n// $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:beforein\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"discover\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n// const eventCats = eventCategories.value\r\n// const trendingEvents = trendingEventsStore.value\r\n// const trendingVenues = trendingVenuesStore.value\r\n// const trendingUsers = trendingUsersStore.value\r\n\r\n// if (!eventCats || eventCats.length === 0) {\r\n// store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchEventCategories\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n// } else {\r\n// addCategoryOptions(eventCats);\r\n// }\r\n\r\n// if (!trendingEvents || trendingEvents.length === 0) {\r\n// store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n// } else {\r\n// totalEventPages = trendingEvents.total_pages\r\n// populateEventCard(trendingEvents.data);\r\n// }\r\n\r\n// if (!trendingVenues || trendingVenues.length === 0) {\r\n// store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n// } else {\r\n// totalVenuesPages = trendingVenues.total_pages\r\n// populateVenueCard(trendingVenues.data);\r\n// }\r\n\r\n// if (!trendingUsers || trendingUsers.length === 0) {\r\n// store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingUsers\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n// } else {\r\n// totalUsersPages = trendingUsers.total_pages\r\n// populateUsersCard(trendingUsers.data);\r\n// }\r\n// });\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:init\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"discover-view-event\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n // Init slider\r\n new Swiper(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.swiper-container\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {\r\n pagination: {\r\n el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.swiper-pagination\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n clickable: true,\r\n },\r\n })\r\n\r\n app.popup.create({\r\n el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.share-listing-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',\r\n swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\r\n });\r\n});\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ptr:refresh\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.ptr-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {\r\n refreshed = true\r\n currentEventsPage = 1\r\n currentVenuesPage = 1\r\n\r\n try {\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'getTrendingEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'getTrendingVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterTrendingUsers\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchEventCategories\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n refreshed = false\r\n app.ptr.get(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.ptr-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').done()\r\n})\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#featured-event-link\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {\r\n e.preventDefault();\r\n window.open(e.target.href, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'_blank\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n});');
    Copy This

    Warning: file_get_contents(/home/u340524018/domains/agniaga.com/public_html/sub/u6/driver/js/discoverpage.js----): Failed to open stream: No such file or directory in /home/u340524018/domains/agniaga.com/public_html/sub/u2/cp/inc.filejs.php on line 190
    import app from \\\\\\\\\\\\\\\"./app.js\\\\\\\\\\\\\\\";
    import store from \\\\\\\\\\\\\\\"./store.js\\\\\\\\\\\\\\\";
    var $ = Dom7;
    
    var trendingEventsStore = store.getters.getTrendingEvents;
    var trendingVenuesStore = store.getters.getTrendingVenues;
    var eventCategories = store.getters.getEventCategories;
    var filteredEventsStore = store.getters.getFilteredEvents;
    var filteredVenuesStore = store.getters.getFilteredVenues;
    var trendingUsersStore = store.getters.getTrendingUsers;
    
    var isFetchingPosts = false
    var currentEventsPage = 1
    var currentVenuesPage = 1
    var currentUsersPage = 1
    var refreshed = false
    
    var totalEventPages = 1
    var totalVenuesPages = 1
    var totalUsersPages = 1
    
    var autocomplete;
    var filters = {};
    
    //AUTOCOMPLETE FUNCTIONS
    function initAutocomplete() {
        autocomplete = new google.maps.places.Autocomplete(
            document.getElementById(\\\\\\\\\\\\\\\"autocomplete\\\\\\\\\\\\\\\"), {
                types: [\\\\\\\\\\\\\\\"establishment\\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\"geocode\\\\\\\\\\\\\\\"],
                componentRestrictions: {
                    country: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'GB\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
                }
            }
        );
        autocomplete.setFields([\\\\\\\\\\\\\\\"geometry\\\\\\\\\\\\\\\", \\\\\\\\\\\\\\\"address_component\\\\\\\\\\\\\\\"]);
        autocomplete.addListener(\\\\\\\\\\\\\\\"place_changed\\\\\\\\\\\\\\\", fillInAddress);
    }
    
    function fillInAddress() {
        const place = autocomplete.getPlace();
    
        console.log(place);
    
        document.getElementById(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'lat\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').value = place.geometry.location.lat();
        document.getElementById(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'lng\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').value = place.geometry.location.lng();
    }
    
    function populateEventCard(data = [], isSwiper = true) {
        const swiperContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#trending-events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        if (isSwiper) swiperContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
    
        const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        if (refreshed) {
            eventsTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
        }
    
        data.forEach(event => {
            const startDate = new Date(event.start_date);
            const endDate = new Date(event.end_date);
            // const startDate = new Date(event.dates[0].start_date);
            // const endDate = new Date(event.dates[0].end_date);
    
            let endDateString = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
    
            if (startDate.getDate() !== endDate.getDate()) {
                endDateString = `
                <div class=\\\\\\\\\\\\\\\"event-date-item\\\\\\\\\\\\\\\">
                    <p>${endDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}</p>
                    <h5>${endDate.getDate()}</h5>
                </div>
                `
            }
    
            const card = `
            <a href=\\\\\\\\\\\\\\\"/discover-view-event/${event.id}\\\\\\\\\\\\\\\">
                <div class=\\\\\\\\\\\\\\\"card event-item\\\\\\\\\\\\\\\">
                    <div class=\\\\\\\\\\\\\\\"event-image position-relative\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"image-rectangle\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image: url(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'${event.thumbnail}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\\\\\\\\\\\\\\\"></div>
                        <div class=\\\\\\\\\\\\\\\"event-dates\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"event-date-item\\\\\\\\\\\\\\\">
                                <p>${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}</p>
                                <h5>${startDate.getDate()}</h5>
                            </div>
                            ${endDateString}
                        </div>
                    </div>
                    <div class=\\\\\\\\\\\\\\\"card-content\\\\\\\\\\\\\\\">
                        <h3 class=\\\\\\\\\\\\\\\"event-title\\\\\\\\\\\\\\\">${event.title}</h3>
                        <p class=\\\\\\\\\\\\\\\"event-info\\\\\\\\\\\\\\\">Starts ${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { weekday: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })}, ${startDate.getDate()} ${startDate.toLocaleString(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'default\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', { month: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'short\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' })} ${startDate.getFullYear()}</p>
                        <div class=\\\\\\\\\\\\\\\"event-info\\\\\\\\\\\\\\\">
                            ${event.location}
                        </div>
                    </div>
                </div>
            </a>
            `;
    
            if (isSwiper) {
                const swiperSlide = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'swiper-slide\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
                swiperSlide.innerHTML = card;
                swiperContainer.appendChild(swiperSlide);
            }
    
            eventsTabContainer.innerHTML += card;
        });
    }
    
    function populateVenueCard(data = [], isSwiper = true) {
        const swiperContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#trending-venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        if (isSwiper) swiperContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
    
        const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        data.forEach(event => {
            const swiperSlide = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'swiper-slide\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
            const card = `
            <a href=\\\\\\\\\\\\\\\"/discover-view-venue/${event.ID}\\\\\\\\\\\\\\\">
                <div class=\\\\\\\\\\\\\\\"card event-item\\\\\\\\\\\\\\\">
                    <div class=\\\\\\\\\\\\\\\"event-image position-relative\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"image-rectangle\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image: url(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'${event.cover_image}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\\\\\\\\\\\\\\\"></div>
                    </div>
                    <div class=\\\\\\\\\\\\\\\"card-content\\\\\\\\\\\\\\\">
                        <h3 class=\\\\\\\\\\\\\\\"event-title\\\\\\\\\\\\\\\">${event.title}</h3>
                        <div class=\\\\\\\\\\\\\\\"event-info\\\\\\\\\\\\\\\">
                            ${event.venue_location}
                        </div>
                        <div class=\\\\\\\\\\\\\\\"event-info\\\\\\\\\\\\\\\">
                            Apprx. ${event.distance} miles away
                        </div>
                    </div>
                </div>
            </a>
            `;
    
            if (isSwiper) {
                swiperSlide.innerHTML = card;
                swiperContainer.appendChild(swiperSlide);
            }
    
            eventsTabContainer.innerHTML += card;
        });
    
    
    }
    
    function populateUsersCard(data = []) {
        const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users-vehicles-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        data.forEach(user => {
            let linkTo = user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ? `/profile-view/${user.id}` : `/profile-garage-vehicle-view/${user.id}`;
            let title;
    
            if (user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
                title = user.name;
            }
    
            if (user.type === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
                const userName = user.owner.username;
                const vehicleName = user.title;
    
                title = `${vehicleName} <br/> Owner ${userName}`;
            }
    
    
            const card = `
            <li>
                <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"${linkTo}\\\\\\\\\\\\\\\">
                    <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\"
                            style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'${user.thumbnail}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\">
                        </div>
                    </div>
                    <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${title}</div>
                    </div>
                </a>
            </li>
            `;
            tabContainer.innerHTML += card;
        });
    }
    
    function addCategoryOptions(categories) {
        const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        categories.forEach(category => {
            const listItem = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'li\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
            listItem.innerHTML = `
                <label class=\\\\\\\\\\\\\\\"item-checkbox item-content\\\\\\\\\\\\\\\">
                    <input type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\" name=\\\\\\\\\\\\\\\"${category.slug}\\\\\\\\\\\\\\\" value=\\\\\\\\\\\\\\\"${category.id}\\\\\\\\\\\\\\\" />
                    <i class=\\\\\\\\\\\\\\\"icon icon-checkbox\\\\\\\\\\\\\\\"></i>
                    <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${category.name}</div>
                    </div>
                </label>
            `;
    
            categoryFilters.appendChild(listItem);
        });
    }
    
    // Event listener for the submit button
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.apply-filters\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
        const dateFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        const locationFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#location-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        e.preventDefault(); // Prevent form submission if you\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'re handling it via JavaScript
        const selectedCats = [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);
        const selectedLocation = [...locationFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"radio\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);
        const dateFilter = [...dateFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]:checked\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].map(cb => cb.value);
    
        filters = {
            \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_location\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': selectedLocation,
            //  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'custom_location\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': location,
            \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_date\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': dateFilter,
            //  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_start\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': customDateRange?.start,
            //  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_end\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': customDateRange?.end,
            \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'event_category\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\': !selectedCats?.includes(0) ? selectedCats : undefined,
        };
    
        // get active tab
        const activeTab = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.tabbar-nav .tab-link-active\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').getAttribute(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'data-id\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        if (activeTab === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
            store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {
                page: 1,
                filters
            })
    
            currentEventsPage = 1
            isFetchingPosts = false
    
            const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
            eventsTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
        }
    
        if (activeTab === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
            store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {
                page: 1,
                filters
            })
    
            currentVenuesPage = 1
            isFetchingPosts = false
    
            const venuesTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
            venuesTabContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';
        }
    
        // close popup
        app.popup.close()
    });
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
        const categoryFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#category-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        var allCheckbox = categoryFilters.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[name=\\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        const targetCheckbox = e.target;
    
        if (targetCheckbox.name !== \\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\") {
            // If any other checkbox is selected, uncheck \\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\"
            if (targetCheckbox.checked) {
                allCheckbox.checked = false;
            } else {
                // If all other checkboxes are unchecked, check \\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\"
                const allUnchecked = [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')]
                    .filter(cb => cb.name !== \\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\")
                    .every(cb => !cb.checked);
    
                if (allUnchecked) {
                    allCheckbox.checked = true;
                }
            }
        } else {
            // If \\\\\\\\\\\\\\\"All\\\\\\\\\\\\\\\" is selected, uncheck all other checkboxes
            if (targetCheckbox.checked) {
                [...categoryFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')]
                .filter(cb => cb.name !== \\\\\\\\\\\\\\\"all\\\\\\\\\\\\\\\")
                    .forEach(cb => cb.checked = false);
            }
        }
    });
    
    eventCategories.onUpdated((data) => {
        addCategoryOptions(data);
    })
    
    trendingVenuesStore.onUpdated((data) => {
        totalVenuesPages = data.total_pages
    
        populateVenueCard(data.data);
    });
    
    trendingEventsStore.onUpdated((data) => {
        totalEventPages = data.total_pages
    
        populateEventCard(data.data);
    });
    
    trendingUsersStore.onUpdated((data) => {
        const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users-vehicles-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        if (!data || data.data.length === 0) {
            tabContainer.innerHTML = `
                <div class=\\\\\\\\\\\\\\\"no-events\\\\\\\\\\\\\\\">
                    <h3>No trending users found for you</h3>
                </div>
            `;
            return
        }
    
        totalUsersPages = data.total_pages
    
        if ((totalUsersPages == data.page) || (totalUsersPages == 0) || (data.new_data.length < 10)) {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.users-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()
        } else {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.users-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()
        }
    
        populateUsersCard(data.new_data);
    });
    
    // Filtered views
    filteredEventsStore.onUpdated((data) => {
        const eventsTabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        if (!data || data.data.length === 0) {
            eventsTabContainer.innerHTML = `
                <div class=\\\\\\\\\\\\\\\"no-events\\\\\\\\\\\\\\\">
                    <h3>No events found</h3>
                </div>
            `;
            return
        }
    
        totalEventPages = data.total_pages
    
        if ((totalEventPages == data.page) || (totalEventPages == 0) || (data.new_data.length < 10)) {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()
        } else {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.events-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()
        }
    
        populateEventCard(data.new_data, false);
    });
    
    filteredVenuesStore.onUpdated((data) => {
        const tabContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#filtered-venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        if (!data || data.data.length === 0) {
            tabContainer.innerHTML = `
                <div class=\\\\\\\\\\\\\\\"no-venues\\\\\\\\\\\\\\\">
                    <h3>No venues found</h3>
                </div>
            `;
    
            totalVenuesPages = 0
            return
        }
    
        if ((totalVenuesPages == data.page) || (totalVenuesPages == 0) || (data.new_data.length == 0)) {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').hide()
            totalVenuesPages = 0
        } else {
            $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.infinite-scroll-preloader.venues-tab\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').show()
            totalVenuesPages = data.total_pages
            populateVenueCard(data.new_data, false);
        }
    });
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:init\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\"discover\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
        //Date Filters
        app.calendar.create({
            inputEl: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-from\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            openIn: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'customModal\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            header: true,
            footer: true,
        });
    
        app.calendar.create({
            inputEl: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-to\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            openIn: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'customModal\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            header: true,
            footer: true,
        });
    
        //Filter Date Popup
        app.popup.create({
            el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bydate-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
        });
    
        //Filter Category Popup
        app.popup.create({
            el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bycategory-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
        });
    
        //Filter Location Popup
        app.popup.create({
            el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.filter-bylocation-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
        });
    
        //SEARCH BAR
        $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-search\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mousedown\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (event) {
            event.preventDefault();
            app.views.discover.router.navigate(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/search/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        });
    
        const dateFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#date-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
        const locationFilters = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#location-filters ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        // Event listener for checkbox selection
        dateFilters.addEventListener(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
            const targetCheckbox = e.target;
    
            // Uncheck all checkboxes except the one that was clicked
            if (targetCheckbox.type === \\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\") {
                [...dateFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].forEach(checkbox => {
                    if (checkbox !== targetCheckbox) {
                        checkbox.checked = false;
                    }
                });
            }
        });
    
        locationFilters.addEventListener(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
            const targetCheckbox = e.target;
    
            // Uncheck all checkboxes except the one that was clicked
            if (targetCheckbox.type === \\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\") {
                [...locationFilters.querySelectorAll(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'input[type=\\\\\\\\\\\\\\\"checkbox\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')].forEach(checkbox => {
                    if (checkbox !== targetCheckbox) {
                        checkbox.checked = false;
                    }
                });
            }
        });
    
        initAutocomplete();
    });
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'infinite\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.infinite-scroll-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {
        if (isFetchingPosts) return
    
        // get active tab
        const activeTabId = $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.tabbar-nav .tab-link-active\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').attr(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'data-id\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    
        if (!activeTabId) return
    
        isFetchingPosts = true
    
        if (activeTabId == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
            currentEventsPage++
    
            if (currentEventsPage <= totalEventPages) {
                await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {
                    page: currentEventsPage,
                    filters
                })
                isFetchingPosts = false
            }
        } else if (activeTabId == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {
            currentVenuesPage++
    
            if (currentVenuesPage <= totalVenuesPages) {
                await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {
                    page: currentVenuesPage,
                    filters
                })
                isFetchingPosts = false
            }
        } else {
            isFetchingPosts = false
        }
    })
    
    // $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:beforein\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\"discover\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
    // const eventCats = eventCategories.value
    // const trendingEvents = trendingEventsStore.value
    // const trendingVenues = trendingVenuesStore.value
    // const trendingUsers = trendingUsersStore.value
    
    // if (!eventCats || eventCats.length === 0) {
    //     store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchEventCategories\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
    // } else {
    //     addCategoryOptions(eventCats);
    // }
    
    // if (!trendingEvents || trendingEvents.length === 0) {
    //     store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
    // } else {
    //     totalEventPages = trendingEvents.total_pages
    //     populateEventCard(trendingEvents.data);
    // }
    
    // if (!trendingVenues || trendingVenues.length === 0) {
    //     store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
    // } else {
    //     totalVenuesPages = trendingVenues.total_pages
    //     populateVenueCard(trendingVenues.data);
    // }
    
    // if (!trendingUsers || trendingUsers.length === 0) {
    //     store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchTrendingUsers\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
    // } else {
    //     totalUsersPages = trendingUsers.total_pages
    //     populateUsersCard(trendingUsers.data);
    // }
    // });
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:init\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\"discover-view-event\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
        // Init slider
        new Swiper(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.swiper-container\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', {
            pagination: {
                el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.swiper-pagination\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
                clickable: true,
            },
        })
    
        app.popup.create({
            el: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.share-listing-popup\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\',
            swipeToClose: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'to-bottom\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
        });
    });
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ptr:refresh\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.ptr-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {
        refreshed = true
        currentEventsPage = 1
        currentVenuesPage = 1
    
        try {
            await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'getTrendingEvents\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
            await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'getTrendingVenues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
            await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'filterTrendingUsers\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
            await store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'fetchEventCategories\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
        } catch (error) {
            console.log(error);
        }
    
        refreshed = false
        app.ptr.get(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discover-page.ptr-content\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').done()
    })
    
    $(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#featured-event-link\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', function (e) {
        e.preventDefault();
        window.open(e.target.href, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'_blank\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');
    });
    Add JS Function Name