jQuery(document).ready(function($) {

    // تفعيل وضع القائمة
    function setListView() {
        var container = $('.products').first();
        if(container.length) {
            container.addClass('my-custom-list-view');
        }
    }

    // تفعيل وضع الشبكة
    function setGridView() {
        var container = $('.products').first();
        if(container.length) {
            container.removeClass('my-custom-list-view');
        }
    }

    // حدث تغيير الـ Switch
    $(document).on('change', '#wcgl-minimal-switch', function() {
        if ($(this).is(':checked')) {
            setListView();
            localStorage.setItem('wc_display_mode', 'list');
        } else {
            setGridView();
            localStorage.setItem('wc_display_mode', 'grid');
        }
    });

    // استعادة التفضيل السابق
    if (localStorage.getItem('wc_display_mode') === 'list') {
        setTimeout(function(){ 
            $('#wcgl-minimal-switch').prop('checked', true).trigger('change');
        }, 50);
    }

    // إعادة تنظيم المحتوى للقائمة
    function reorganizeForList() {
        if ($(window).width() <= 1024) {
            $('.product').each(function() {
                var product = $(this);
                
                if (product.find('.wcgl-details-wrap').length === 0) {
                    // إنشاء الحاوية الجديدة
                    var detailsWrap = $('<div class="wcgl-details-wrap"></div>');
                    product.append(detailsWrap);
                    
                    // نقل العناصر
                    product.find('.woocommerce-loop-product__title').appendTo(detailsWrap);
                    product.find('.price').appendTo(detailsWrap);
                    product.find('.button').appendTo(detailsWrap);
                }
            });
        }
    }

    // تنفيذ عند التبديل للقائمة
    $(document).on('change', '#wcgl-minimal-switch', function() {
        if ($(this).is(':checked')) {
            setTimeout(reorganizeForList, 10);
        }
    });
});