dsg
INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('354','1','u2/creator','discover','js/search.js----','import {\r\n getDiscoverData\r\n} from \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"./api/discover.js\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";\r\nimport store from \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"./store.js\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";\r\n\r\nvar $ = Dom7;\r\n\r\n// let activeTab = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\nlet lastSearchText = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\nlet controller; // To store the current AbortController\r\n\r\nvar searchResultsStore = store.getters.getSearchResults;\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'page:afterin\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"search\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {\r\n $(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#discover-search\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\').focus();\r\n})\r\n\r\n// event listener for tab change\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.discovery-wrap .tab-link\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', async function (e) {\r\n const type = this.getAttribute(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'data-type\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\r\n activeTab = type\r\n})\r\n\r\nfunction debounce(func, delay) {\r\n let timer;\r\n return function (...args) {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => func.apply(this, args), delay);\r\n };\r\n}\r\n\r\nfunction addLoaderToTabs() {\r\n const eventsContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#events-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const usersContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users_vehicles-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const venuesContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#venues-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const topContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#top-results .list\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n const loader = `\r\n
\r\n
\r\n
\r\n
\r\n
`;\r\n\r\n eventsContainer.innerHTML = loader;\r\n usersContainer.innerHTML = loader;\r\n venuesContainer.innerHTML = loader;\r\n topContainer.innerHTML = loader;\r\n}\r\n\r\nconst debouncedSearch = debounce(async function () {\r\n const search = $(this).val().trim();\r\n\r\n if (search.length < 3 || search === lastSearchText) {\r\n return;\r\n }\r\n\r\n lastSearchText = search;\r\n\r\n // Abort the previous request if it\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s still ongoing\r\n if (controller) {\r\n controller.abort();\r\n }\r\n\r\n // Create a new AbortController for the current request\r\n controller = new AbortController();\r\n const signal = controller.signal;\r\n\r\n addLoaderToTabs();\r\n try {\r\n const searchResults = await getDiscoverData(search, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'all\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', 1, signal);\r\n store.dispatch(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'setSearchResults\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', searchResults);\r\n } catch (error) {\r\n if (error.name === \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'AbortError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n console.log(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Fetch aborted\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n } else {\r\n console.error(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Error fetching search results:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', error);\r\n }\r\n }\r\n}, 300); // Adjust the delay (in milliseconds) as needed\r\n\r\n$(document).on(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'change input paste\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#discover-search\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', debouncedSearch);\r\n\r\n// Function to render a list of items in the DOM\r\nfunction renderList(container, items, renderItem) {\r\n container.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n const noResultsMessage = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
  • No results found
  • \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n if (!items || items.length === 0) {\r\n container.innerHTML = noResultsMessage;\r\n return;\r\n }\r\n\r\n // Render each item\r\n items.forEach(item => {\r\n const li = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'li\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n li.innerHTML = renderItem(item);\r\n container.appendChild(li);\r\n });\r\n}\r\n\r\n// Function to render the search results\r\nfunction renderSearchResults(searchResults) {\r\n const eventsContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#events-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const usersContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#users_vehicles-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const venuesContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#venues-results .list ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const topContainer = document.querySelector(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'#top-results .list\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n // Ensure containers are cleared before rendering\r\n eventsContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n usersContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n venuesContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n topContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n\r\n // Render events\r\n if (searchResults.events) {\r\n renderList(eventsContainer, searchResults.events.data, event => `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${event.name}
    \r\n
    \r\n
    \r\n `);\r\n }\r\n\r\n // Render users\r\n if (searchResults.users) {\r\n renderList(usersContainer, searchResults.users.data, (user) => {\r\n const userLink = user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/profile-view/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + user.id : \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/profile-garage-vehicle-view/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + user.id;\r\n let contentText;\r\n\r\n if (user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n contentText = `${user.name} (${user.username})`;\r\n }\r\n\r\n if (user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n contentText = `${user.name}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s ${user.meta.make} ${user.meta.model}`;\r\n }\r\n\r\n return `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${contentText}
    \r\n
    \r\n
    `\r\n });\r\n }\r\n\r\n // Render venues\r\n if (searchResults.venues) {\r\n renderList(venuesContainer, searchResults.venues.data, venue => `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${venue.name} - ${venue.venue_location}
    \r\n
    \r\n
    \r\n `);\r\n }\r\n\r\n // Render top results\r\n let hasTopResults = false;\r\n\r\n if (searchResults.top_results) {\r\n if (searchResults.top_results.events && searchResults.top_results.events.length > 0) {\r\n hasTopResults = true;\r\n const eventSubList = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const heading = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n heading.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Trending Events\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n heading.classList.add(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n topContainer.appendChild(heading);\r\n topContainer.appendChild(eventSubList);\r\n\r\n renderList(eventSubList, searchResults.top_results.events, event => `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${event.name}
    \r\n
    \r\n
    \r\n `);\r\n }\r\n\r\n if (searchResults.top_results.users && searchResults.top_results.users.length > 0) {\r\n hasTopResults = true;\r\n\r\n const userSubList = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const heading = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n heading.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Trending Users\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n heading.classList.add(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n topContainer.appendChild(heading);\r\n topContainer.appendChild(userSubList);\r\n\r\n renderList(userSubList, searchResults.top_results.users, (user) => {\r\n const userLink = user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ? \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/profile-view/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + user.id : \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/profile-garage-vehicle-view/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + user.id;\r\n let contentText;\r\n\r\n if (user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n contentText = `${user.name} (${user.username})`;\r\n }\r\n\r\n if (user.type == \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\') {\r\n contentText = `${user.name}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s ${user.meta.make} ${user.meta.model}`;\r\n }\r\n\r\n return `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${contentText}
    \r\n
    \r\n
    `\r\n });\r\n }\r\n\r\n if (searchResults.top_results.venues && searchResults.top_results.venues.length > 0) {\r\n hasTopResults = true;\r\n\r\n const venueSubList = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n const heading = document.createElement(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n heading.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'Trending Venues\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n heading.classList.add(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\');\r\n\r\n topContainer.appendChild(heading);\r\n topContainer.appendChild(venueSubList);\r\n\r\n renderList(venueSubList, searchResults.top_results.venues, venue => `\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ${venue.name} - ${venue.venue_location}
    \r\n
    \r\n
    \r\n `);\r\n }\r\n }\r\n\r\n if (!hasTopResults) {\r\n topContainer.innerHTML = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    No top results found
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';\r\n }\r\n}\r\n\r\nsearchResultsStore.onUpdated((results) => {\r\n renderSearchResults(results);\r\n});');
    Copy This

    Warning: file_get_contents(/home/u340524018/domains/agniaga.com/public_html/sub/u2/creator/js/search.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 {
        getDiscoverData
    } from \\\\\\\\\\\\\\\"./api/discover.js\\\\\\\\\\\\\\\";
    import store from \\\\\\\\\\\\\\\"./store.js\\\\\\\\\\\\\\\";
    
    var $ = Dom7;
    
    // let activeTab = \\\\\\\\\\\\\\\'all\\\\\\\\\\\\\\\';
    let lastSearchText = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
    let controller; // To store the current AbortController
    
    var searchResultsStore = store.getters.getSearchResults;
    
    $(document).on(\\\\\\\\\\\\\\\'page:afterin\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'.page[data-name=\\\\\\\\\\\\\\\"search\\\\\\\\\\\\\\\"]\\\\\\\\\\\\\\\', async function (e) {
        $(\\\\\\\\\\\\\\\'#discover-search\\\\\\\\\\\\\\\').focus();
    })
    
    // event listener for tab change
    $(document).on(\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'.discovery-wrap .tab-link\\\\\\\\\\\\\\\', async function (e) {
        const type = this.getAttribute(\\\\\\\\\\\\\\\'data-type\\\\\\\\\\\\\\\')
        activeTab = type
    })
    
    function debounce(func, delay) {
        let timer;
        return function (...args) {
            clearTimeout(timer);
            timer = setTimeout(() => func.apply(this, args), delay);
        };
    }
    
    function addLoaderToTabs() {
        const eventsContainer = document.querySelector(\\\\\\\\\\\\\\\'#events-results .list ul\\\\\\\\\\\\\\\');
        const usersContainer = document.querySelector(\\\\\\\\\\\\\\\'#users_vehicles-results .list ul\\\\\\\\\\\\\\\');
        const venuesContainer = document.querySelector(\\\\\\\\\\\\\\\'#venues-results .list ul\\\\\\\\\\\\\\\');
        const topContainer = document.querySelector(\\\\\\\\\\\\\\\'#top-results .list\\\\\\\\\\\\\\\');
    
        const loader = `
        <div style=\\\\\\\\\\\\\\\"padding-block: .5rem;\\\\\\\\\\\\\\\">
            <div class=\\\\\\\\\\\\\\\"infinite-scroll-preloader\\\\\\\\\\\\\\\">
                <div class=\\\\\\\\\\\\\\\"preloader\\\\\\\\\\\\\\\"></div>
            </div>
        </div>`;
    
        eventsContainer.innerHTML = loader;
        usersContainer.innerHTML = loader;
        venuesContainer.innerHTML = loader;
        topContainer.innerHTML = loader;
    }
    
    const debouncedSearch = debounce(async function () {
        const search = $(this).val().trim();
    
        if (search.length < 3 || search === lastSearchText) {
            return;
        }
    
        lastSearchText = search;
    
        // Abort the previous request if it\\\\\\\\\\\\\\\'s still ongoing
        if (controller) {
            controller.abort();
        }
    
        // Create a new AbortController for the current request
        controller = new AbortController();
        const signal = controller.signal;
    
        addLoaderToTabs();
        try {
            const searchResults = await getDiscoverData(search, \\\\\\\\\\\\\\\'all\\\\\\\\\\\\\\\', 1, signal);
            store.dispatch(\\\\\\\\\\\\\\\'setSearchResults\\\\\\\\\\\\\\\', searchResults);
        } catch (error) {
            if (error.name === \\\\\\\\\\\\\\\'AbortError\\\\\\\\\\\\\\\') {
                console.log(\\\\\\\\\\\\\\\'Fetch aborted\\\\\\\\\\\\\\\');
            } else {
                console.error(\\\\\\\\\\\\\\\'Error fetching search results:\\\\\\\\\\\\\\\', error);
            }
        }
    }, 300); // Adjust the delay (in milliseconds) as needed
    
    $(document).on(\\\\\\\\\\\\\\\'change input paste\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'#discover-search\\\\\\\\\\\\\\\', debouncedSearch);
    
    // Function to render a list of items in the DOM
    function renderList(container, items, renderItem) {
        container.innerHTML = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
    
        const noResultsMessage = \\\\\\\\\\\\\\\'<li><strong>No results found</strong></li>\\\\\\\\\\\\\\\';
    
        if (!items || items.length === 0) {
            container.innerHTML = noResultsMessage;
            return;
        }
    
        // Render each item
        items.forEach(item => {
            const li = document.createElement(\\\\\\\\\\\\\\\'li\\\\\\\\\\\\\\\');
            li.innerHTML = renderItem(item);
            container.appendChild(li);
        });
    }
    
    // Function to render the search results
    function renderSearchResults(searchResults) {
        const eventsContainer = document.querySelector(\\\\\\\\\\\\\\\'#events-results .list ul\\\\\\\\\\\\\\\');
        const usersContainer = document.querySelector(\\\\\\\\\\\\\\\'#users_vehicles-results .list ul\\\\\\\\\\\\\\\');
        const venuesContainer = document.querySelector(\\\\\\\\\\\\\\\'#venues-results .list ul\\\\\\\\\\\\\\\');
        const topContainer = document.querySelector(\\\\\\\\\\\\\\\'#top-results .list\\\\\\\\\\\\\\\');
    
        // Ensure containers are cleared before rendering
        eventsContainer.innerHTML = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
        usersContainer.innerHTML = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
        venuesContainer.innerHTML = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
        topContainer.innerHTML = \\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\';
    
        // Render events
        if (searchResults.events) {
            renderList(eventsContainer, searchResults.events.data, event => `
                <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"/discover-view-event/${event.id}\\\\\\\\\\\\\\\">
                    <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${event.thumbnail}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                    </div>
                    <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${event.name}</div>
                    </div>
                </a>
            `);
        }
    
        // Render users
        if (searchResults.users) {
            renderList(usersContainer, searchResults.users.data, (user) => {
                const userLink = user.type == \\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\' ? \\\\\\\\\\\\\\\'/profile-view/\\\\\\\\\\\\\\\' + user.id : \\\\\\\\\\\\\\\'/profile-garage-vehicle-view/\\\\\\\\\\\\\\\' + user.id;
                let contentText;
    
                if (user.type == \\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\') {
                    contentText = `${user.name} (${user.username})`;
                }
    
                if (user.type == \\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\') {
                    contentText = `${user.name}\\\\\\\\\\\\\\\'s <b>${user.meta.make} ${user.meta.model}</b>`;
                }
    
                return `
                    <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"${userLink}\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${user.thumbnail || \\\\\\\\\\\\\\\'assets/img/profile-placeholder.jpg\\\\\\\\\\\\\\\'}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                        </div>
                        <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${contentText}</div>
                        </div>
                    </a>`
            });
        }
    
        // Render venues
        if (searchResults.venues) {
            renderList(venuesContainer, searchResults.venues.data, venue => `
                <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"/discover-view-venue/${venue.id}\\\\\\\\\\\\\\\">
                    <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${venue.thumbnail}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                    </div>
                    <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${venue.name} - ${venue.venue_location}</div>
                    </div>
                </a>
            `);
        }
    
        // Render top results
        let hasTopResults = false;
    
        if (searchResults.top_results) {
            if (searchResults.top_results.events && searchResults.top_results.events.length > 0) {
                hasTopResults = true;
                const eventSubList = document.createElement(\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\');
                const heading = document.createElement(\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\');
    
                heading.innerHTML = \\\\\\\\\\\\\\\'Trending Events\\\\\\\\\\\\\\\';
                heading.classList.add(\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\');
                topContainer.appendChild(heading);
                topContainer.appendChild(eventSubList);
    
                renderList(eventSubList, searchResults.top_results.events, event => `
                    <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"/discover-view-event/${event.id}\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${event.thumbnail}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                        </div>
                        <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${event.name}</div>
                        </div>
                    </a>
                `);
            }
    
            if (searchResults.top_results.users && searchResults.top_results.users.length > 0) {
                hasTopResults = true;
    
                const userSubList = document.createElement(\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\');
                const heading = document.createElement(\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\');
    
                heading.innerHTML = \\\\\\\\\\\\\\\'Trending Users\\\\\\\\\\\\\\\';
                heading.classList.add(\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\');
                topContainer.appendChild(heading);
                topContainer.appendChild(userSubList);
    
                renderList(userSubList, searchResults.top_results.users, (user) => {
                    const userLink = user.type == \\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\' ? \\\\\\\\\\\\\\\'/profile-view/\\\\\\\\\\\\\\\' + user.id : \\\\\\\\\\\\\\\'/profile-garage-vehicle-view/\\\\\\\\\\\\\\\' + user.id;
                    let contentText;
    
                    if (user.type == \\\\\\\\\\\\\\\'user\\\\\\\\\\\\\\\') {
                        contentText = `${user.name} (${user.username})`;
                    }
    
                    if (user.type == \\\\\\\\\\\\\\\'vehicle\\\\\\\\\\\\\\\') {
                        contentText = `${user.name}\\\\\\\\\\\\\\\'s <b>${user.meta.make} ${user.meta.model}</b>`;
                    }
    
                    return `
                    <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"${userLink}\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${user.thumbnail || \\\\\\\\\\\\\\\'assets/img/profile-placeholder.jpg\\\\\\\\\\\\\\\'}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                        </div>
                        <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${contentText}</div>
                        </div>
                    </a>`
                });
            }
    
            if (searchResults.top_results.venues && searchResults.top_results.venues.length > 0) {
                hasTopResults = true;
    
                const venueSubList = document.createElement(\\\\\\\\\\\\\\\'ul\\\\\\\\\\\\\\\');
                const heading = document.createElement(\\\\\\\\\\\\\\\'h2\\\\\\\\\\\\\\\');
    
                heading.innerHTML = \\\\\\\\\\\\\\\'Trending Venues\\\\\\\\\\\\\\\';
                heading.classList.add(\\\\\\\\\\\\\\\'section-title\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mt-3\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'mb-2\\\\\\\\\\\\\\\');
    
                topContainer.appendChild(heading);
                topContainer.appendChild(venueSubList);
    
                renderList(venueSubList, searchResults.top_results.venues, venue => `
                    <a class=\\\\\\\\\\\\\\\"item-link search-result item-content\\\\\\\\\\\\\\\" href=\\\\\\\\\\\\\\\"/discover-view-venue/${venue.id}\\\\\\\\\\\\\\\">
                        <div class=\\\\\\\\\\\\\\\"item-media\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"image-square image-rounded\\\\\\\\\\\\\\\" style=\\\\\\\\\\\\\\\"background-image:url(\\\\\\\\\\\\\\\'${venue.thumbnail}\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\"></div>
                        </div>
                        <div class=\\\\\\\\\\\\\\\"item-inner\\\\\\\\\\\\\\\">
                            <div class=\\\\\\\\\\\\\\\"item-title\\\\\\\\\\\\\\\">${venue.name} - ${venue.venue_location}</div>
                        </div>
                    </a>
                `);
            }
        }
    
        if (!hasTopResults) {
            topContainer.innerHTML = \\\\\\\\\\\\\\\'<div><strong>No top results found</strong></div>\\\\\\\\\\\\\\\';
        }
    }
    
    searchResultsStore.onUpdated((results) => {
        renderSearchResults(results);
    });
    Add JS Function Name