{"id":7613,"date":"2024-12-25T01:39:16","date_gmt":"2024-12-25T00:39:16","guid":{"rendered":"https:\/\/pickleballfans.eu\/new\/?page_id=7613"},"modified":"2025-01-14T02:16:08","modified_gmt":"2025-01-14T01:16:08","slug":"clubs","status":"publish","type":"page","link":"https:\/\/pickleballfans.eu\/nl\/clubs\/","title":{"rendered":"Clubs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7613\" class=\"elementor elementor-7613\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd07544 e-flex e-con-boxed e-con e-parent\" data-id=\"dd07544\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-016ab72 elementor-widget elementor-widget-shortcode\" data-id=\"016ab72\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"club-filters\"><button class=\"filter-button active\" data-country=\"all\">Alle clubs<\/button><button class='filter-button' data-country='Belgi\u00eb'>Belgi\u00eb <span class='count'>(37)<\/span><\/button><button class='filter-button' data-country='Duitsland'>Duitsland <span class='count'>(1)<\/span><\/button><button class='filter-button' data-country='Frankrijk'>Frankrijk <span class='count'>(1)<\/span><\/button><button class='filter-button' data-country='Nederland'>Nederland <span class='count'>(6)<\/span><\/button><button class='filter-button' data-country='Portugal'>Portugal <span class='count'>(1)<\/span><\/button><\/div><div id=\"club-search\"><input type=\"text\" id=\"club-search-input\" placeholder=\"Zoek een club...\"><\/div><div id=\"loading-spinner\" style=\"display:none;\">\n        <img decoding=\"async\" src=\"https:\/\/pickleballfans.eu\/wp-content\/uploads\/2025\/01\/Fidget-spinner.gif\" alt=\"Loading...\">\n    <\/div><div id=\"club-posts-container\"><\/div>    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n        const filterButtons   = document.querySelectorAll('.filter-button');\n        const searchInput     = document.getElementById('club-search-input');\n        const postsContainer  = document.getElementById('club-posts-container');\n        const spinner         = document.getElementById('loading-spinner');\n\n        let searchTimeout = null;\n\n        function fetchClubs(filter = 'all', search = '') {\n            const data = new FormData();\n            data.append('action', 'filter_clubs');\n            data.append('filter', filter);\n            data.append('search', search);\n\n            spinner.style.display        = 'block';\n            postsContainer.style.opacity = '0.5';\n\n            fetch('https:\/\/pickleballfans.eu\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                body: data\n            })\n            .then(response => response.text())\n            .then(html => {\n                spinner.style.display        = 'none';\n                postsContainer.style.opacity = '1';\n                postsContainer.innerHTML     = html;\n            });\n        }\n\n        \/\/ Filterknoppen\n        filterButtons.forEach(button => {\n            button.addEventListener('click', () => {\n                filterButtons.forEach(btn => btn.classList.remove('active'));\n                button.classList.add('active');\n\n                const filter = button.getAttribute('data-country');\n                fetchClubs(filter, searchInput.value);\n            });\n        });\n\n        \/\/ Zoeken met debounce\n        searchInput.addEventListener('input', () => {\n            const activeButton = document.querySelector('.filter-button.active');\n            const activeFilter = activeButton ? activeButton.getAttribute('data-country') : 'all';\n            const searchValue  = searchInput.value;\n\n            clearTimeout(searchTimeout);\n            searchTimeout = setTimeout(() => {\n                fetchClubs(activeFilter, searchValue);\n            }, 300); \/\/ 300ms na laatste toetsaanslag\n        });\n\n        \/\/ Eerste load\n        fetchClubs();\n    });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-7613","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/pages\/7613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/comments?post=7613"}],"version-history":[{"count":1,"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/pages\/7613\/revisions"}],"predecessor-version":[{"id":9184,"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/pages\/7613\/revisions\/9184"}],"wp:attachment":[{"href":"https:\/\/pickleballfans.eu\/nl\/wp-json\/wp\/v2\/media?parent=7613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}