jQuery(document).ready(function($) {
    console.log(ajax_object);

    const categoryButtons = $('.category-btn');
    const postContainer = $('#post-container');
    const paginationContainer = $('.pagination');
    let currentCategory = 'all';

    function filterPosts(category, page) {
        $.ajax({
            url: ajax_object.ajax_url,
            type: 'POST',
            data: {
                action: 'filter_posts',
                category: category,
                paged: page
            },
            success: function(response) {
                postContainer.html(response.posts);

                updatePagination(response.total_pages, response.current_page, category);
            },
            error: function(xhr, status, error) {
                console.error('AJAX Error:', status, error);
            }
        });
    }
	
    function updatePagination(totalPages, currentPage, category) {
        let paginationHtml = '<nav>';

        if (currentPage == 1) {
            paginationHtml += '<span class="pagination-disabled prev"><img src="https://stillviral.com/wp-content/uploads/2025/03/Icon.svg" alt="Previous" class="pagination-icon prev"></span>';
        } else {
            paginationHtml += '<a href="#" class="page-link prev" data-page="' + (currentPage - 1) + '"><img src="https://stillviral.com/wp-content/uploads/2025/03/Icon.svg" alt="Previous" class="pagination-icon prev"></a>';
        }

        for (let i = 1; i <= totalPages; i++) {
            if (i == currentPage) {
                paginationHtml += '<span class="current">' + i + '</span>';
            } else {
                paginationHtml += '<a href="#" class="page-link" data-page="' + i + '">' + i + '</a>';
            }
        }

        if (currentPage == totalPages) {
            paginationHtml += '<span class="pagination-disabled next"><img src="https://stillviral.com/wp-content/uploads/2025/03/Icon.svg" alt="Next" class="pagination-icon next"></span>';
        } else {
            paginationHtml += '<a href="#" class="page-link next" data-page="' + (currentPage + 1) + '"><img src="https://stillviral.com/wp-content/uploads/2025/03/Icon.svg" alt="Next" class="pagination-icon next"></a>';
        }

        paginationHtml += '</nav>';
        paginationContainer.html(paginationHtml);
    }

    categoryButtons.on('click', function(e) {
        e.preventDefault();
        const category = $(this).data('category');
        currentCategory = category;

        categoryButtons.removeAttr('data-active');
        $(this).attr('data-active', 'true');

        filterPosts(category, 1);
    });

    paginationContainer.on('click', '.page-link', function(e) {
        e.preventDefault();
        const page = $(this).data('page');
        filterPosts(currentCategory, page);
    });
});