

<?php $__env->startSection('title', 'Products'); ?>


<?php
    // Ensure visibleColumns is set with defaults
    if (!isset($visibleColumns) || empty($visibleColumns)) {
        $visibleColumns = ['image', 'name', 'category', 'tags', 'shipping_days', 'price', 'status', 'verified', 'actions'];
        if ($hasStock) {
            $visibleColumns = array_merge(
                array_slice($visibleColumns, 0, 4),
                ['stock'],
                array_slice($visibleColumns, 4)
            );
        }
    }
    
    // Helper function to check if column should be visible
    function isColumnVisible($column, $visibleColumns) {
        // Always show image and actions
        if ($column === 'image' || $column === 'actions') {
            return true;
        }
        return in_array($column, $visibleColumns);
    }
    
    // Helper function to generate sortable header link
    function sortableHeader($label, $sortField, $currentSort, $currentOrder) {
        $url = request()->fullUrlWithQuery([
            'sort' => $sortField,
            'order' => ($currentSort == $sortField && $currentOrder == 'asc') ? 'desc' : 'asc',
            'page' => 1
        ]);
        
        // Determine icon based on current sort state
        if ($currentSort == $sortField) {
            // Currently sorted by this field
            $icon = $currentOrder == 'asc' 
                ? '<i class="bi bi-arrow-up"></i>' 
                : '<i class="bi bi-arrow-down"></i>';
        } else {
            // Not currently sorted - show neutral icon
            $icon = '<i class="bi bi-arrow-down-up" style="opacity: 0.5;"></i>';
        }
        
        return [
            'url' => $url,
            'label' => $label,
            'icon' => $icon,
            'isActive' => $currentSort == $sortField
        ];
    }
    
    $currentSort = request('sort', 'created_at');
    $currentOrder = request('order', 'desc');
?>

<?php $__env->startSection('content'); ?>
<div class="admin-page-header">
    <h1>Products</h1>
    <div class="d-flex gap-2 mt-2">
        <button type="button" class="btn btn-outline-secondary" id="columnChooserBtn" title="Column Visibility" data-bs-toggle="modal" data-bs-target="#columnChooserModal">
            <i class="bi bi-columns-gap"></i> Columns
        </button>
        <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.create')): ?>
        <?php if(!isset($productType) || $productType === 'single'): ?>
            <a href="<?php echo e(route('admin.products.create')); ?>" class="btn btn-primary">
                <i class="bi bi-plus"></i> Add Single Product
            </a>
        <?php elseif($productType === 'variant'): ?>
            <a href="<?php echo e(route('admin.products.variant.create')); ?>" class="btn btn-primary">
                <i class="bi bi-plus"></i> Add Variant Product
            </a>
        <?php endif; ?>
        <?php endif; ?>
    </div>
</div>

<!-- Product Type Tabs -->
<div class="admin-card mb-3">
    <div class="card-body p-0">
        <ul class="nav nav-tabs border-0" id="productTypeTabs" role="tablist">
            <li class="nav-item" role="presentation">
                <a class="nav-link <?php echo e((!isset($productType) || $productType === 'single') ? 'active' : ''); ?>" 
                   href="<?php echo e(route('admin.products.index', array_merge(request()->except('type'), ['type' => 'single']))); ?>"
                   style="<?php echo e((!isset($productType) || $productType === 'single') ? 'color: #17a2b8; border-bottom: 2px solid #17a2b8; font-weight: 600;' : 'color: #6c757d;'); ?>">
                    <i class="bi bi-box me-2"></i> Single Type Product
                    <?php if(isset($singleCount)): ?>
                        <span class="badge bg-secondary ms-2"><?php echo e($singleCount); ?></span>
                    <?php endif; ?>
                </a>
            </li>
            <li class="nav-item" role="presentation">
                <a class="nav-link <?php echo e((isset($productType) && $productType === 'variant') ? 'active' : ''); ?>" 
                   href="<?php echo e(route('admin.products.index', array_merge(request()->except('type'), ['type' => 'variant']))); ?>"
                   style="<?php echo e((isset($productType) && $productType === 'variant') ? 'color: #17a2b8; border-bottom: 2px solid #17a2b8; font-weight: 600;' : 'color: #6c757d;'); ?>">
                    <i class="bi bi-diagram-3 me-2"></i> Variant Type Product
                    <?php if(isset($variantCount)): ?>
                        <span class="badge bg-secondary ms-2"><?php echo e($variantCount); ?></span>
                    <?php endif; ?>
                </a>
            </li>
        </ul>
    </div>
</div>

<!-- Search and Sort Section -->
<div class="admin-card mb-3">
    <div class="card-body">
        <form method="GET" action="<?php echo e(route('admin.products.index')); ?>" class="row g-3 align-items-end justify-content-end">
            <?php if(isset($productType)): ?>
                <input type="hidden" name="type" value="<?php echo e($productType); ?>">
            <?php endif; ?>
            <?php if(request('per_page')): ?>
                <input type="hidden" name="per_page" value="<?php echo e(request('per_page')); ?>">
            <?php endif; ?>
            <div class="col-md-3">
                <label class="admin-form-label">Search Products</label>
                <input type="text" 
                       name="search" 
                       class="admin-form-control form-control" 
                       placeholder="Search by name, tags, barcode, description, or category..."
                       value="<?php echo e(request('search')); ?>">
            </div>
            <div class="col-md-2">
                <label class="admin-form-label">Category</label>
                <select name="category_id" 
                        class="admin-form-control form-select" 
                        onchange="this.form.submit()">
                    <option value="">All Categories</option>
                    <?php $__currentLoopData = $categories; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $category): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                        <option value="<?php echo e($category->id); ?>" <?php echo e(request('category_id') == $category->id ? 'selected' : ''); ?>>
                            <?php echo e($category->name); ?>

                        </option>
                    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                </select>
            </div>
            <div class="col-md-3 col-lg-1">
                <label class="admin-form-label">Status</label>
                <select name="status" 
                        class="admin-form-control form-select" 
                        onchange="this.form.submit()">
                    <option value="">All Status</option>
                    <option value="active" <?php echo e(request('status') == 'active' ? 'selected' : ''); ?>>Active</option>
                    <option value="inactive" <?php echo e(request('status') == 'inactive' ? 'selected' : ''); ?>>Inactive</option>
                </select>
            </div>
            <div class="col-md-3 col-lg-2">
                <label class="admin-form-label">Verified</label>
                <select name="verified"
                        class="admin-form-control form-select"
                        onchange="this.form.submit()">
                    <option value="">All</option>
                    <option value="verified" <?php echo e(request('verified') == 'verified' ? 'selected' : ''); ?>>Verified</option>
                    <option value="unverified" <?php echo e(request('verified') == 'unverified' ? 'selected' : ''); ?>>Not Verified</option>
                </select>
            </div>
            <div class="col-md-3 col-lg-2">
                <label class="admin-form-label">Visibility</label>
                <select name="channel_visibility"
                        class="admin-form-control form-select"
                        onchange="this.form.submit()">
                    <option value="">All</option>
                    <option value="both" <?php echo e(request('channel_visibility') == 'both' ? 'selected' : ''); ?>>Both</option>
                    <option value="website_only" <?php echo e(request('channel_visibility') == 'website_only' ? 'selected' : ''); ?>>Only Website</option>
                    <option value="pos_only" <?php echo e(request('channel_visibility') == 'pos_only' ? 'selected' : ''); ?>>Only POS</option>
                </select>
            </div>
            <div class="col-md-1 col-10">
                <button type="submit" class="admin-btn-primary w-100">
                    <i class="bi bi-search"></i> Search
                </button>
            </div>
            <?php if(request('search') || request('category_id') || request('status') || request('verified') || request('channel_visibility')): ?>
                <div class="col-md-1 col-2">
                    <a href="<?php echo e(route('admin.products.index', isset($productType) ? ['type' => $productType] : [])); ?>" id="clearProductFiltersBtn" title="clear filter" class="btn btn-outline-secondary">
                       <i class="bi bi-arrow-clockwise"></i> 
                    </a>
                </div>
            <?php endif; ?>
        </form>
    </div>
</div>

<!-- Missing Categories Alert -->
<?php if(session('missing_categories') && is_array(session('missing_categories'))): ?>
    <div class="alert alert-warning alert-dismissible fade show" role="alert">
        <div class="d-flex justify-content-between align-items-start">
            <div>
                <h5 class="alert-heading mb-2">
                    <i class="bi bi-exclamation-triangle-fill me-2"></i>
                    Missing Categories Detected
                </h5>
                <p class="mb-2">The following categories were referenced in your import but don't exist:</p>
                <div class="missing-categories-list mb-3">
                    <?php $__currentLoopData = array_slice(session('missing_categories'), 0, 30); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $categoryName): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                        <span class="badge bg-secondary me-1 mb-1"><?php echo e($categoryName); ?></span>
                    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                    <?php if(count(session('missing_categories')) > 30): ?>
                        <span class="text-muted">... and <?php echo e(count(session('missing_categories')) - 30); ?> more</span>
                    <?php endif; ?>
                </div>
                <div class="d-flex gap-2 flex-wrap">
                    <a href="<?php echo e(route('admin.categories.index')); ?>" class="btn btn-sm btn-primary">
                        <i class="bi bi-tags"></i> Go to Categories
                    </a>
                    <a href="<?php echo e(route('admin.categories.create')); ?>" class="btn btn-sm btn-outline-primary">
                        <i class="bi bi-plus-circle"></i> Create Category
                    </a>
                </div>
            </div>
        </div>
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
<?php endif; ?>

<div class="admin-card">
    <div class="card-body">
        <div class="table-responsive">
            <table class="admin-table table table-hover">
                <thead>
                    <tr>
                        <th data-column="image">Image</th>
                        <th data-column="id" class="<?php echo e(!isColumnVisible('id', $visibleColumns) ? 'column-hidden' : ''); ?>">ID</th>
                        <?php $nameSort = sortableHeader('Name', 'name', $currentSort, $currentOrder); ?>
                        <th class="sortable-header <?php echo e(!isColumnVisible('name', $visibleColumns) ? 'column-hidden' : ''); ?>" data-column="name">
                            <a href="<?php echo e($nameSort['url']); ?>" class="sortable-link">
                                <span><?php echo e($nameSort['label']); ?></span>
                                <span class="sort-icon"><?php echo $nameSort['icon']; ?></span>
                            </a>
                        </th>
                        <th data-column="sku" class="<?php echo e(!isColumnVisible('sku', $visibleColumns) ? 'column-hidden' : ''); ?>">Barcode</th>
                        <?php $categorySort = sortableHeader('Category', 'category', $currentSort, $currentOrder); ?>
                        <th class="sortable-header <?php echo e(!isColumnVisible('category', $visibleColumns) ? 'column-hidden' : ''); ?>" data-column="category">
                            <a href="<?php echo e($categorySort['url']); ?>" class="sortable-link">
                                <span><?php echo e($categorySort['label']); ?></span>
                                <span class="sort-icon"><?php echo $categorySort['icon']; ?></span>
                            </a>
                        </th>
                        <th data-column="brand" class="<?php echo e(!isColumnVisible('brand', $visibleColumns) ? 'column-hidden' : ''); ?>">Brand</th>
                        <th data-column="hsn" class="<?php echo e(!isColumnVisible('hsn', $visibleColumns) ? 'column-hidden' : ''); ?>">HSN Code</th>
                        <th data-column="shipping_days" class="<?php echo e(!isColumnVisible('shipping_days', $visibleColumns) ? 'column-hidden' : ''); ?>">Shipping Days</th>
                        <?php $priceSort = sortableHeader('Price', 'price', $currentSort, $currentOrder); ?>
                        <th class="sortable-header <?php echo e(!isColumnVisible('price', $visibleColumns) ? 'column-hidden' : ''); ?>" data-column="price">
                            <a href="<?php echo e($priceSort['url']); ?>" class="sortable-link">
                                <span><?php echo e($priceSort['label']); ?></span>
                                <span class="sort-icon"><?php echo $priceSort['icon']; ?></span>
                            </a>
                        </th>
                        <th data-column="mrp" class="<?php echo e(!isColumnVisible('mrp', $visibleColumns) ? 'column-hidden' : ''); ?>">MRP</th>
                        <th data-column="purchase_price" class="<?php echo e(!isColumnVisible('purchase_price', $visibleColumns) ? 'column-hidden' : ''); ?>">Purchase Price</th>
                        <th data-column="wholesale_price" class="<?php echo e(!isColumnVisible('wholesale_price', $visibleColumns) ? 'column-hidden' : ''); ?>">Wholesale Price</th>
                        <?php $stockSort = sortableHeader('Stock', 'stock', $currentSort, $currentOrder); ?>
                        <th class="sortable-header <?php echo e(!isColumnVisible('stock', $visibleColumns) ? 'column-hidden' : ''); ?>" data-column="stock">
                            <a href="<?php echo e($stockSort['url']); ?>" class="sortable-link">
                                <span><?php echo e($stockSort['label']); ?></span>
                                <span class="sort-icon"><?php echo $stockSort['icon']; ?></span>
                            </a>
                        </th>
                        <th data-column="opening_stock" class="<?php echo e(!isColumnVisible('opening_stock', $visibleColumns) ? 'column-hidden' : ''); ?>">Opening Stock</th>
                        <th data-column="unit" class="<?php echo e(!isColumnVisible('unit', $visibleColumns) ? 'column-hidden' : ''); ?>">Unit</th>
                        <th data-column="tax" class="<?php echo e(!isColumnVisible('tax', $visibleColumns) ? 'column-hidden' : ''); ?>">Tax</th>
                        <th data-column="tags" class="<?php echo e(!isColumnVisible('tags', $visibleColumns) ? 'column-hidden' : ''); ?>">Tags</th>
                        <th data-column="short_desc" class="<?php echo e(!isColumnVisible('short_desc', $visibleColumns) ? 'column-hidden' : ''); ?>">Short Description</th>
                        <?php $statusSort = sortableHeader('Status', 'status', $currentSort, $currentOrder); ?>
                        <th class="sortable-header <?php echo e(!isColumnVisible('status', $visibleColumns) ? 'column-hidden' : ''); ?>" data-column="status">
                            <a href="<?php echo e($statusSort['url']); ?>" class="sortable-link">
                                <span><?php echo e($statusSort['label']); ?></span>
                                <span class="sort-icon"><?php echo $statusSort['icon']; ?></span>
                            </a>
                        </th>
                        <th data-column="verified" class="<?php echo e(!isColumnVisible('verified', $visibleColumns) ? 'column-hidden' : ''); ?>">Verified</th>
                        <th data-column="channel_visibility" class="<?php echo e(!isColumnVisible('channel_visibility', $visibleColumns) ? 'column-hidden' : ''); ?>">Visibility</th>
                        <th data-column="featured" class="<?php echo e(!isColumnVisible('featured', $visibleColumns) ? 'column-hidden' : ''); ?>">Featured</th>
                        <th data-column="prebooking" class="<?php echo e(!isColumnVisible('prebooking', $visibleColumns) ? 'column-hidden' : ''); ?>">Prebooking</th>
                        <th data-column="created_at" class="<?php echo e(!isColumnVisible('created_at', $visibleColumns) ? 'column-hidden' : ''); ?>">Created At</th>
                        <th data-column="actions">Actions</th>
                    </tr>
                </thead>
                <tbody>
                    <?php $__currentLoopData = $products; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $product): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                        <tr class="product-row" data-product-id="<?php echo e($product->id); ?>">
                            <td data-column="image">
                                <?php if($product->image_path || $product->image): ?>
                                    <?php if (isset($component)) { $__componentOriginala58dde406db9207f2e2c58e1c4a3d690 = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginala58dde406db9207f2e2c58e1c4a3d690 = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.product-image','data' => ['product' => $product,'context' => 'listing','class' => 'admin-image-preview','style' => 'width: 50px; height: 50px; object-fit: cover; display: block; border-radius: 4px;','onerror' => 'this.onerror=null; this.src=\'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiBmaWxsPSIjZGVlMmU2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzZjNjU3OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPk5vIEltYWdlPC90ZXh0Pjwvc3ZnPg==\';']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('product-image'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['product' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($product),'context' => 'listing','class' => 'admin-image-preview','style' => 'width: 50px; height: 50px; object-fit: cover; display: block; border-radius: 4px;','onerror' => 'this.onerror=null; this.src=\'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiBmaWxsPSIjZGVlMmU2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzZjNjU3OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPk5vIEltYWdlPC90ZXh0Pjwvc3ZnPg==\';']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginala58dde406db9207f2e2c58e1c4a3d690)): ?>
<?php $attributes = $__attributesOriginala58dde406db9207f2e2c58e1c4a3d690; ?>
<?php unset($__attributesOriginala58dde406db9207f2e2c58e1c4a3d690); ?>
<?php endif; ?>
<?php if (isset($__componentOriginala58dde406db9207f2e2c58e1c4a3d690)): ?>
<?php $component = $__componentOriginala58dde406db9207f2e2c58e1c4a3d690; ?>
<?php unset($__componentOriginala58dde406db9207f2e2c58e1c4a3d690); ?>
<?php endif; ?>
                                <?php else: ?>
                                    <div class="bg-secondary rounded d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
                                        <i class="bi bi-image text-white" style="font-size: 0.875rem;"></i>
                                    </div>
                                <?php endif; ?>
                            </td>
                            <td data-column="id" class="<?php echo e(!isColumnVisible('id', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">#<?php echo e($product->id); ?></td>
                            <td data-column="name" class="<?php echo e(!isColumnVisible('name', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.9rem;">
                                <?php if(isset($productType) && $productType === 'variant' && $product->variants && $product->variants->count() > 0): ?>
                                    <button type="button" class="btn btn-sm p-0 me-2 variant-toggle" data-product-id="<?php echo e($product->id); ?>" style="border: none; background: none; color: #17a2b8; cursor: pointer;" title="Toggle variants">
                                        <i class="bi bi-chevron-right" id="toggle-icon-<?php echo e($product->id); ?>"></i>
                                    </button>
                                <?php endif; ?>
                                <?php echo e($product->name); ?>

                            </td>
                            <td data-column="sku" class="<?php echo e(!isColumnVisible('sku', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->barcode ?? $product->slug ?? 'N/A'); ?></td>
                            <td data-column="category" class="<?php echo e(!isColumnVisible('category', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->category->name); ?></td>
                            <td data-column="brand" class="<?php echo e(!isColumnVisible('brand', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->brand->name ?? 'N/A'); ?></td>
                            <td data-column="hsn" class="<?php echo e(!isColumnVisible('hsn', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->hsn_code ?? 'N/A'); ?></td>
                            <td data-column="shipping_days" class="<?php echo e(!isColumnVisible('shipping_days', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php ($productShippingDays = $product->shipping_days ?? \App\Models\Setting::get('default_shipping_days')); ?>
                                <?php echo e(!is_null($productShippingDays) && $productShippingDays !== '' ? $productShippingDays . ' day' . ((int) $productShippingDays === 1 ? '' : 's') : 'N/A'); ?>

                            </td>
                            <td data-column="price" class="<?php echo e(!isColumnVisible('price', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                <div style="font-size: 0.9rem;">
                                    <div style="font-weight: 600; color: #13233c;">
                                        ₹<?php echo e(number_format($product->price, 2)); ?>

                                    </div>
                                </div>
                            </td>
                            <td data-column="mrp" class="<?php echo e(!isColumnVisible('mrp', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php echo e($product->mrp ? '₹' . number_format($product->mrp, 2) : 'N/A'); ?>

                            </td>
                            <td data-column="purchase_price" class="<?php echo e(!isColumnVisible('purchase_price', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php echo e($product->purchase_price ? '₹' . number_format($product->purchase_price, 2) : 'N/A'); ?>

                            </td>
                            <td data-column="wholesale_price" class="<?php echo e(!isColumnVisible('wholesale_price', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php echo e($product->wholesale_price ? '₹' . number_format($product->wholesale_price, 2) : 'N/A'); ?>

                            </td>
                            <td data-column="stock" class="<?php echo e(!isColumnVisible('stock', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                <?php if(isset($productType) && $productType === 'variant'): ?>
                                    <div style="font-size: 0.9rem;">
                                        <span class="badge bg-info"><?php echo e($product->variants_count ?? 0); ?> variants</span>
                                    </div>
                                <?php else: ?>
                                    <div style="font-size: 0.9rem;">
                                        <strong><?php echo e($product->current_stock); ?></strong>
                                    </div>
                                <?php endif; ?>
                            </td>
                            <td data-column="opening_stock" class="<?php echo e(!isColumnVisible('opening_stock', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->opening_stock ?? 0); ?></td>
                            <td data-column="unit" class="<?php echo e(!isColumnVisible('unit', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->unit->name ?? 'N/A'); ?></td>
                            <td data-column="tax" class="<?php echo e(!isColumnVisible('tax', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->tax->name ?? 'N/A'); ?></td>
                            <td data-column="tags" class="<?php echo e(!isColumnVisible('tags', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e(Str::limit($product->tags ?? 'N/A', 30)); ?></td>
                            <td data-column="short_desc" class="<?php echo e(!isColumnVisible('short_desc', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e(Str::limit($product->short_desc ?? 'N/A', 40)); ?></td>
                            <td data-column="status" class="<?php echo e(!isColumnVisible('status', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                <span class="badge-modern <?php echo e($product->is_active ? 'badge-modern-success' : 'badge-modern-danger'); ?>">
                                    <?php echo e($product->is_active ? 'Active' : 'Inactive'); ?>

                                </span>
                            </td>
                            <td data-column="verified" class="<?php echo e(!isColumnVisible('verified', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                <span class="<?php echo e($product->is_verified ? 'text-success' : 'text-danger'); ?>" title="<?php echo e($product->is_verified ? 'Verified' : 'Not Verified'); ?>" style="display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor;"></span>
                            </td>
                            <td data-column="channel_visibility" class="<?php echo e(!isColumnVisible('channel_visibility', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php if($product->channel_visibility === 'website_only'): ?>
                                    <span class="badge bg-primary">Only Website</span>
                                <?php elseif($product->channel_visibility === 'pos_only'): ?>
                                    <span class="badge bg-warning text-dark">Only POS</span>
                                <?php else: ?>
                                    <span class="badge bg-success">Both</span>
                                <?php endif; ?>
                            </td>
                            <td data-column="featured" class="<?php echo e(!isColumnVisible('featured', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php if($product->is_featured): ?>
                                    <span class="badge bg-success">Yes</span>
                                <?php else: ?>
                                    <span class="badge bg-secondary">No</span>
                                <?php endif; ?>
                            </td>
                            <td data-column="prebooking" class="<?php echo e(!isColumnVisible('prebooking', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                <?php if($product->is_prebooking): ?>
                                    <span class="badge bg-info">Yes</span>
                                <?php else: ?>
                                    <span class="badge bg-secondary">No</span>
                                <?php endif; ?>
                            </td>
                            <td data-column="created_at" class="<?php echo e(!isColumnVisible('created_at', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;"><?php echo e($product->created_at->format('M d, Y')); ?></td>
                            <td data-column="actions">
                                <div class="d-flex gap-2">
                                    <a href="<?php echo e(route('admin.products.barcode.print', $product->id)); ?>" 
                                       class="admin-action-btn admin-action-btn-sm" 
                                       style="background: #10b981; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                       target="_blank"
                                       title="Print Barcode">
                                        <i class="bi bi-upc-scan"></i>
                                    </a>
                                    <?php if(!isset($productType) || $productType === 'single'): ?>
                                    <a href="<?php echo e(route('admin.products.show', $product->id)); ?>" 
                                       class="admin-action-btn admin-action-btn-sm" 
                                       style="background: #6c757d; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                       title="View Details">
                                        <i class="bi bi-eye"></i>
                                    </a>
                                    <?php endif; ?>
                                    <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.update')): ?>
                                    <?php if(!isset($productType) || $productType === 'single'): ?>
                                        <a href="<?php echo e(route('admin.products.restock', ['product_id' => $product->id])); ?>" 
                                           class="admin-action-btn admin-action-btn-sm" 
                                           style="background: #0d6efd; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                           title="Add Restock">
                                            <i class="bi bi-box-arrow-in-down"></i>
                                        </a>
                                    <?php endif; ?>
                                    <?php endif; ?>
                                    <?php if(isset($productType) && $productType === 'variant'): ?>
                                        <a href="<?php echo e(route('admin.products.variants.index', $product->id)); ?>" 
                                           class="admin-action-btn admin-action-btn-sm" 
                                           style="background: #17a2b8; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                           title="Manage Variants">
                                            <i class="bi bi-layers"></i>
                                        </a>
                                    <?php endif; ?>
                                    <?php if(isset($productType) && $productType !== 'variant'): ?>
                                    <a href="<?php echo e(route('admin.products.stock-history', $product->id)); ?>" 
                                       class="admin-action-btn admin-action-btn-sm" 
                                       style="background: #6c757d; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                       title="Product History">
                                        <i class="bi bi-clock-history"></i>
                                    </a>
                                    <?php endif; ?>
                                    <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.update')): ?>
                                    <?php if(isset($productType) && $productType === 'variant'): ?>
                                        <a href="<?php echo e(route('admin.products.variant.edit', $product->id)); ?>" 
                                           class="admin-action-btn admin-action-btn-sm admin-btn-primary"
                                           style="width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                           title="Edit">
                                            <i class="bi bi-pencil"></i>
                                        </a>
                                    <?php else: ?>
                                        <a href="<?php echo e(route('admin.products.edit', $product->id)); ?>" 
                                           class="admin-action-btn admin-action-btn-sm admin-btn-primary"
                                           style="width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                           title="Edit">
                                            <i class="bi bi-pencil"></i>
                                        </a>
                                    <?php endif; ?>
                                    <?php endif; ?>
                                    <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.delete')): ?>
                                    <form action="<?php echo e(route('admin.products.destroy', $product->id)); ?>" method="POST" class="d-inline" onsubmit="return confirm('Are you sure?')">
                                        <?php echo csrf_field(); ?>
                                        <?php echo method_field('DELETE'); ?>
                                        <button type="submit" 
                                                class="admin-action-btn admin-action-btn-sm" 
                                                style="background: #ef4444; height: -webkit-fill-available; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                                title="Delete">
                                            <i class="bi bi-trash"></i>
                                        </button>
                                    </form>
                                    <?php endif; ?>
                                </div>
                            </td>
                        </tr>
                        <?php if(isset($productType) && $productType === 'variant' && $product->variants && $product->variants->count() > 0): ?>
                            <?php $__currentLoopData = $product->variants; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $variant): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                <tr class="variant-row" data-parent-id="<?php echo e($product->id); ?>" style="display: none; background-color: #f8f9fa;">
                                    <td data-column="image">
                                        <?php if($variant->image_path || $variant->image): ?>
                                            <?php if (isset($component)) { $__componentOriginala58dde406db9207f2e2c58e1c4a3d690 = $component; } ?>
<?php if (isset($attributes)) { $__attributesOriginala58dde406db9207f2e2c58e1c4a3d690 = $attributes; } ?>
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'components.product-image','data' => ['product' => $variant,'context' => 'listing','class' => 'admin-image-preview','style' => 'width: 50px; height: 50px; object-fit: cover; display: block; border-radius: 4px;','onerror' => 'this.onerror=null; this.src=\'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiBmaWxsPSIjZGVlMmU2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzZjNjU3OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPk5vIEltYWdlPC90ZXh0Pjwvc3ZnPg==\';']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? $attributes->all() : [])); ?>
<?php $component->withName('product-image'); ?>
<?php if ($component->shouldRender()): ?>
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag): ?>
<?php $attributes = $attributes->except(\Illuminate\View\AnonymousComponent::ignoredParameterNames()); ?>
<?php endif; ?>
<?php $component->withAttributes(['product' => \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($variant),'context' => 'listing','class' => 'admin-image-preview','style' => 'width: 50px; height: 50px; object-fit: cover; display: block; border-radius: 4px;','onerror' => 'this.onerror=null; this.src=\'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiBmaWxsPSIjZGVlMmU2Ii8+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzZjNjU3OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZHk9Ii4zZW0iPk5vIEltYWdlPC90ZXh0Pjwvc3ZnPg==\';']); ?>
<?php echo $__env->renderComponent(); ?>
<?php endif; ?>
<?php if (isset($__attributesOriginala58dde406db9207f2e2c58e1c4a3d690)): ?>
<?php $attributes = $__attributesOriginala58dde406db9207f2e2c58e1c4a3d690; ?>
<?php unset($__attributesOriginala58dde406db9207f2e2c58e1c4a3d690); ?>
<?php endif; ?>
<?php if (isset($__componentOriginala58dde406db9207f2e2c58e1c4a3d690)): ?>
<?php $component = $__componentOriginala58dde406db9207f2e2c58e1c4a3d690; ?>
<?php unset($__componentOriginala58dde406db9207f2e2c58e1c4a3d690); ?>
<?php endif; ?>
                                        <?php else: ?>
                                            <div class="bg-secondary rounded d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
                                                <i class="bi bi-image text-white" style="font-size: 0.875rem;"></i>
                                            </div>
                                        <?php endif; ?>
                                    </td>
                                    <td data-column="id" class="<?php echo e(!isColumnVisible('id', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem; padding-left: 40px;">
                                        #<?php echo e($variant->id); ?>

                                    </td>
                                    <td data-column="name" class="<?php echo e(!isColumnVisible('name', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.9rem; padding-left: 40px;">
                                        <span class="text-muted" style="font-size: 0.85rem;">└─</span> 
                                        <?php echo e($variant->variation_name ?? $variant->name); ?>

                                        <?php if($variant->attributeValues && $variant->attributeValues->count() > 0): ?>
                                            <small class="text-muted d-block mt-1">
                                                <?php $__currentLoopData = $variant->attributeValues; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $attrValue): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                                    <span class="badge bg-light text-dark me-1"><?php echo e($attrValue->attribute->name); ?>: <?php echo e($attrValue->value); ?></span>
                                                <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                                            </small>
                                        <?php endif; ?>
                                    </td>
                                    <td data-column="sku" class="<?php echo e(!isColumnVisible('sku', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->barcode ?? $variant->slug ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="category" class="<?php echo e(!isColumnVisible('category', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->category->name ?? $product->category->name ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="brand" class="<?php echo e(!isColumnVisible('brand', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->brand->name ?? $product->brand->name ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="hsn" class="<?php echo e(!isColumnVisible('hsn', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->hsn_code ?? $product->hsn_code ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="shipping_days" class="<?php echo e(!isColumnVisible('shipping_days', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php ($variantShippingDays = $variant->shipping_days ?? $product->shipping_days ?? \App\Models\Setting::get('default_shipping_days')); ?>
                                        <?php echo e(!is_null($variantShippingDays) && $variantShippingDays !== '' ? $variantShippingDays . ' day' . ((int) $variantShippingDays === 1 ? '' : 's') : 'N/A'); ?>

                                    </td>
                                    <td data-column="price" class="<?php echo e(!isColumnVisible('price', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                        <div style="font-size: 0.9rem;">
                                            <div style="font-weight: 600; color: #13233c;">
                                                ₹<?php echo e(number_format($variant->price, 2)); ?>

                                            </div>
                                        </div>
                                    </td>
                                    <td data-column="mrp" class="<?php echo e(!isColumnVisible('mrp', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->mrp ? '₹' . number_format($variant->mrp, 2) : 'N/A'); ?>

                                    </td>
                                    <td data-column="purchase_price" class="<?php echo e(!isColumnVisible('purchase_price', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->purchase_price ? '₹' . number_format($variant->purchase_price, 2) : 'N/A'); ?>

                                    </td>
                                    <td data-column="wholesale_price" class="<?php echo e(!isColumnVisible('wholesale_price', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->wholesale_price ? '₹' . number_format($variant->wholesale_price, 2) : 'N/A'); ?>

                                    </td>
                                    <td data-column="stock" class="<?php echo e(!isColumnVisible('stock', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                        <div style="font-size: 0.9rem;">
                                            <strong><?php echo e($variant->current_stock); ?></strong>
                                        </div>
                                    </td>
                                    <td data-column="opening_stock" class="<?php echo e(!isColumnVisible('opening_stock', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->opening_stock ?? 0); ?>

                                    </td>
                                    <td data-column="unit" class="<?php echo e(!isColumnVisible('unit', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->unit->name ?? $product->unit->name ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="tax" class="<?php echo e(!isColumnVisible('tax', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->tax->name ?? $product->tax->name ?? 'N/A'); ?>

                                    </td>
                                    <td data-column="tags" class="<?php echo e(!isColumnVisible('tags', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e(Str::limit($variant->tags ?? 'N/A', 30)); ?>

                                    </td>
                                    <td data-column="short_desc" class="<?php echo e(!isColumnVisible('short_desc', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e(Str::limit($variant->short_desc ?? 'N/A', 40)); ?>

                                    </td>
                                    <td data-column="status" class="<?php echo e(!isColumnVisible('status', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                        <span class="badge-modern <?php echo e($variant->is_active ? 'badge-modern-success' : 'badge-modern-danger'); ?>">
                                            <?php echo e($variant->is_active ? 'Active' : 'Inactive'); ?>

                                        </span>
                                    </td>
                                    <td data-column="verified" class="<?php echo e(!isColumnVisible('verified', $visibleColumns) ? 'column-hidden' : ''); ?>">
                                        <span class="<?php echo e($variant->is_verified ? 'text-success' : 'text-danger'); ?>" title="<?php echo e($variant->is_verified ? 'Verified' : 'Not Verified'); ?>" style="display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor;"></span>
                                    </td>
                                    <td data-column="channel_visibility" class="<?php echo e(!isColumnVisible('channel_visibility', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php if($variant->channel_visibility === 'website_only'): ?>
                                            <span class="badge bg-primary">Only Website</span>
                                        <?php elseif($variant->channel_visibility === 'pos_only'): ?>
                                            <span class="badge bg-warning text-dark">Only POS</span>
                                        <?php else: ?>
                                            <span class="badge bg-success">Both</span>
                                        <?php endif; ?>
                                    </td>
                                    <td data-column="featured" class="<?php echo e(!isColumnVisible('featured', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php if($variant->is_featured): ?>
                                            <span class="badge bg-success">Yes</span>
                                        <?php else: ?>
                                            <span class="badge bg-secondary">No</span>
                                        <?php endif; ?>
                                    </td>
                                    <td data-column="prebooking" class="<?php echo e(!isColumnVisible('prebooking', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php if($variant->is_prebooking): ?>
                                            <span class="badge bg-info">Yes</span>
                                        <?php else: ?>
                                            <span class="badge bg-secondary">No</span>
                                        <?php endif; ?>
                                    </td>
                                    <td data-column="created_at" class="<?php echo e(!isColumnVisible('created_at', $visibleColumns) ? 'column-hidden' : ''); ?>" style="font-size: 0.875rem;">
                                        <?php echo e($variant->created_at->format('M d, Y')); ?>

                                    </td>
                                    <td data-column="actions">
                                        <div class="d-flex gap-2">
                                            <a href="<?php echo e(route('admin.products.barcode.print', $product->id)); ?>?variant_id=<?php echo e($variant->id); ?>" 
                                               class="admin-action-btn admin-action-btn-sm" 
                                               style="background: #10b981; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                               target="_blank"
                                               title="Print Barcode">
                                                <i class="bi bi-upc-scan"></i>
                                            </a>
                                            <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.update')): ?>
                                            <button type="button" 
                                                    class="admin-action-btn admin-action-btn-sm" 
                                                    style="background: #0d6efd; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0; border: none;"
                                                    data-bs-toggle="modal" 
                                                    data-bs-target="#restockModal<?php echo e($variant->id); ?>"
                                                    title="Add Restock">
                                                <i class="bi bi-box-arrow-in-down"></i>
                                            </button>
                                            <a href="<?php echo e(route('admin.products.variants.stock-history', $variant->id)); ?>" 
                                                class="admin-action-btn admin-action-btn-sm" 
                                                style="background: #6c757d; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                                title="Stock History">
                                                    <i class="bi bi-clock-history"></i>
                                            </a>
                                            <?php endif; ?>
                                            <?php if (app(\Illuminate\Contracts\Auth\Access\Gate::class)->check('products.delete')): ?>
                                            <form action="<?php echo e(route('admin.products.variants.destroy', $variant->id)); ?>" 
                                                method="POST" 
                                                class="d-inline" 
                                                onsubmit="return confirm('Are you sure you want to delete this variant?')">
                                                <?php echo csrf_field(); ?>
                                                <?php echo method_field('DELETE'); ?>
                                                <button type="submit" 
                                                        class="admin-action-btn admin-action-btn-sm" 
                                                        style="background: #ef4444; height: -webkit-fill-available; color: white; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; padding: 0;"
                                                        title="Delete">
                                                    <i class="bi bi-trash"></i>
                                                </button>
                                            </form>
                                            <?php endif; ?>
                                        </div>
                                    </td>
                                </tr>
                            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                        <?php endif; ?>
                    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                </tbody>
            </table>
        </div>

        <!-- Pagination - Right Aligned -->
            <div class="pagination-wrapper d-flex justify-content-between mt-4 col-12">

            <div class="align-items-center gap-2">
                    <label for="productsPerPage" class="mb-0 small text-muted ">Per page</label>
                    <form method="GET" action="<?php echo e(route('admin.products.index')); ?>" class="d-inline">
                        <?php $__currentLoopData = request()->except(['per_page', 'page']); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $value): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                            <?php if(is_array($value)): ?>
                                <?php $__currentLoopData = $value; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                    <input type="hidden" name="<?php echo e($key); ?>[]" value="<?php echo e($item); ?>">
                                <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                            <?php else: ?>
                                <input type="hidden" name="<?php echo e($key); ?>" value="<?php echo e($value); ?>">
                            <?php endif; ?>
                        <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                        <select id="productsPerPage" name="per_page" class="form-select form-select-sm" style="width: auto;" onchange="this.form.submit()">
                            <?php $__currentLoopData = ($allowedPerPage ?? [10, 20, 50, 100]); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $size): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                <option value="<?php echo e($size); ?>" <?php echo e((int)($perPage ?? request('per_page', 10)) === (int)$size ? 'selected' : ''); ?>><?php echo e($size); ?></option>
                            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                        </select>
                    </form>
                </div>
            <div class="d-flex justify-content-end align-items-center gap-3 flex-wrap">
                <div class="pagination-info-text">
                    Showing <strong><?php echo e($products->firstItem() ?? 0); ?></strong>–<strong><?php echo e($products->lastItem() ?? 0); ?></strong> 
                    of <strong><?php echo e($products->total()); ?></strong> products
                </div>
                <?php if($products->hasPages()): ?>
                <div class="pagination-controls">
                    <?php echo e($products->links('vendor.pagination.admin-categories')); ?>

                </div>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>

<!-- Duplicate Products Alert -->
<?php if(isset($duplicateProducts) && $duplicateProducts->count() > 0): ?>
<div class="admin-card mt-4">
    <div class="card-body">
        <div class="alert alert-warning mb-0">
            <h5 class="alert-heading mb-2">
                <i class="bi bi-exclamation-triangle-fill me-2"></i>
                Duplicate Products Detected
            </h5>
            <p class="mb-3">The following products have duplicate names within the same category:</p>
            <div class="table-responsive">
                <table class="table table-sm table-bordered">
                    <thead>
                        <tr>
                            <th>Product Name</th>
                            <th>Category</th>
                            <th>ID</th>
                            <th>Price</th>
                            <th>Stock</th>
                            <th>Actions</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php $__currentLoopData = $duplicateProducts; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $product): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                            <tr>
                                <td><?php echo e($product->name); ?></td>
                                <td><?php echo e($product->category->name ?? 'N/A'); ?></td>
                                <td>#<?php echo e($product->id); ?></td>
                                <td>₹<?php echo e(number_format($product->price, 2)); ?></td>
                                <td><?php echo e($product->current_stock); ?></td>
                                <td>
                                    <div class="d-flex gap-1">
                                        <a href="<?php echo e(route('admin.products.edit', $product->id)); ?>" 
                                           class="btn btn-sm btn-primary"
                                           title="Edit">
                                            <i class="bi bi-pencil"></i>
                                        </a>
                                        <form action="<?php echo e(route('admin.products.destroy', $product->id)); ?>" 
                                              method="POST" 
                                              class="d-inline" 
                                              onsubmit="return confirm('Delete this duplicate product?')">
                                            <?php echo csrf_field(); ?>
                                            <?php echo method_field('DELETE'); ?>
                                            <button type="submit" 
                                                    class="btn btn-sm btn-danger"
                                                    title="Delete">
                                                <i class="bi bi-trash"></i>
                                            </button>
                                        </form>
                                    </div>
                                </td>
                            </tr>
                        <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                    </tbody>
                </table>
            </div>
            <small class="text-muted mt-2 d-block">
                <i class="bi bi-info-circle"></i> 
                Consider merging or deleting duplicate products to maintain data integrity.
            </small>
        </div>
    </div>
</div>
<?php endif; ?>

<!-- Restock Modals for Variants -->
<?php if(isset($productType) && $productType === 'variant'): ?>
    <?php $__currentLoopData = $products; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $product): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
        <?php if($product->variants && $product->variants->count() > 0): ?>
            <?php $__currentLoopData = $product->variants; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $variant): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                <!-- Restock Modal for Variant <?php echo e($variant->id); ?> -->
                <div class="modal fade mt-5" id="restockModal<?php echo e($variant->id); ?>" tabindex="-1" aria-labelledby="restockModalLabel<?php echo e($variant->id); ?>" aria-hidden="true">
                    <div class="modal-dialog">
                        <div class="modal-content">
                            <div class="modal-header" style="background: linear-gradient(135deg, #13233c 0%, #1a3f4a 100%); color: #ffffff;">
                                <h5 class="modal-title" id="restockModalLabel<?php echo e($variant->id); ?>">
                                    <i class="bi bi-box-arrow-in-down"></i> Restock Variant
                                </h5>
                                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
                            </div>
                            <form action="<?php echo e(route('admin.products.variants.restock', $variant->id)); ?>" method="POST">
                                <?php echo csrf_field(); ?>
                                <input type="hidden" name="return_to_list" value="1">
                                <?php if(request('search')): ?>
                                    <input type="hidden" name="search" value="<?php echo e(request('search')); ?>">
                                <?php endif; ?>
                                <div class="modal-body">
                                    <div class="mb-3">
                                        <label class="form-label"><strong>Variant:</strong></label>
                                        <p class="mb-0"><?php echo e($variant->variation_name ?? $variant->name); ?></p>
                                    </div>
                                    <?php if($variant->attributeValues && $variant->attributeValues->count() > 0): ?>
                                    <div class="mb-3">
                                        <label class="form-label"><strong>Attributes:</strong></label>
                                        <p class="mb-0">
                                            <?php $__currentLoopData = $variant->attributeValues; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $attrValue): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                                <span class="badge bg-secondary me-1">
                                                    <?php echo e($attrValue->attribute->name); ?>: <?php echo e($attrValue->value); ?>

                                                </span>
                                            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                                        </p>
                                    </div>
                                    <?php endif; ?>
                                    <div class="mb-3">
                                        <label class="form-label"><strong>Barcode:</strong></label>
                                        <p class="mb-0"><?php echo e($variant->barcode ?? 'N/A'); ?></p>
                                    </div>
                                    <div class="mb-3">
                                        <label class="form-label"><strong>Current Stock:</strong></label>
                                        <p class="mb-0"><strong><?php echo e($variant->current_stock); ?></strong></p>
                                    </div>
                                    <div class="mb-3">
                                        <label for="quantity<?php echo e($variant->id); ?>" class="form-label">Quantity to Add *</label>
                                        <input type="number" 
                                                name="quantity" 
                                                id="quantity<?php echo e($variant->id); ?>"
                                                class="form-control <?php $__errorArgs = ['quantity'];
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
if ($__bag->has($__errorArgs[0])) :
if (isset($message)) { $__messageOriginal = $message; }
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
endif;
unset($__errorArgs, $__bag); ?>" 
                                                value="<?php echo e(old('quantity')); ?>" 
                                                required 
                                                min="1"
                                                placeholder="Enter quantity to add">
                                        <?php $__errorArgs = ['quantity'];
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
if ($__bag->has($__errorArgs[0])) :
if (isset($message)) { $__messageOriginal = $message; }
$message = $__bag->first($__errorArgs[0]); ?>
                                            <div class="invalid-feedback"><?php echo e($message); ?></div>
                                        <?php unset($message);
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
endif;
unset($__errorArgs, $__bag); ?>
                                        <small class="form-text text-muted">Enter the quantity to add to stock</small>
                                    </div>
                                    <div class="mb-3">
                                        <label for="notes<?php echo e($variant->id); ?>" class="form-label">Notes (Optional)</label>
                                        <textarea name="notes" 
                                                    id="notes<?php echo e($variant->id); ?>"
                                                    class="form-control <?php $__errorArgs = ['notes'];
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
if ($__bag->has($__errorArgs[0])) :
if (isset($message)) { $__messageOriginal = $message; }
$message = $__bag->first($__errorArgs[0]); ?> is-invalid <?php unset($message);
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
endif;
unset($__errorArgs, $__bag); ?>" 
                                                    rows="3"
                                                    placeholder="e.g., New shipment arrived, Returned items, etc."><?php echo e(old('notes')); ?></textarea>
                                        <?php $__errorArgs = ['notes'];
$__bag = $errors->getBag($__errorArgs[1] ?? 'default');
if ($__bag->has($__errorArgs[0])) :
if (isset($message)) { $__messageOriginal = $message; }
$message = $__bag->first($__errorArgs[0]); ?>
                                            <div class="invalid-feedback"><?php echo e($message); ?></div>
                                        <?php unset($message);
if (isset($__messageOriginal)) { $message = $__messageOriginal; }
endif;
unset($__errorArgs, $__bag); ?>
                                        <small class="form-text text-muted">Add any notes about this restock</small>
                                    </div>
                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
                                    <button type="submit" class="btn btn-primary">
                                        <i class="bi bi-plus-circle"></i> Restock Variant
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
        <?php endif; ?>
    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
<?php endif; ?>

<!-- Column Chooser Modal -->
<div class="modal fade mt-5" id="columnChooserModal" tabindex="-1" aria-labelledby="columnChooserModalLabel" aria-hidden="true" style="margin-top: 3rem;">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header" style="background: linear-gradient(135deg, #13233c 0%, #1a3f4a 100%); color: #ffffff;">
                <h5 class="modal-title" id="columnChooserModalLabel">
                    <i class="bi bi-columns-gap me-2"></i>Column Visibility
                </h5>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <div class="mb-3 d-flex gap-2 flex-wrap">
                    <button type="button" class="btn btn-sm btn-outline-primary" id="selectAllColumns">
                        <i class="bi bi-check-all"></i> Select All
                    </button>
                    <button type="button" class="btn btn-sm btn-outline-secondary" id="deselectAllColumns">
                        <i class="bi bi-x-square"></i> Deselect All
                    </button>
                    <button type="button" class="btn btn-sm btn-outline-info" id="resetToDefault">
                        <i class="bi bi-arrow-counterclockwise"></i> Reset to Default
                    </button>
                </div>
                <div class="row">
                    <div class="col-md-6">
                        <h6 class="mb-3 text-muted">Basic Information</h6>
                        <div class="column-list">
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-image" data-column="image" disabled checked>
                                <label class="form-check-label" for="col-image">
                                    Image <small class="text-muted">(Always visible)</small>
                                </label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-id" data-column="id">
                                <label class="form-check-label" for="col-id">ID</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-name" data-column="name" checked>
                                <label class="form-check-label" for="col-name">Name</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-sku" data-column="sku">
                                <label class="form-check-label" for="col-sku">Barcode</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-category" data-column="category" checked>
                                <label class="form-check-label" for="col-category">Category</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-brand" data-column="brand">
                                <label class="form-check-label" for="col-brand">Brand</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-hsn" data-column="hsn">
                                <label class="form-check-label" for="col-hsn">HSN Code</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-shipping-days" data-column="shipping_days">
                                <label class="form-check-label" for="col-shipping-days">Shipping Days</label>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <h6 class="mb-3 text-muted">Pricing & Stock</h6>
                        <div class="column-list">
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-price" data-column="price" checked>
                                <label class="form-check-label" for="col-price">Price</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-mrp" data-column="mrp">
                                <label class="form-check-label" for="col-mrp">MRP</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-purchase-price" data-column="purchase_price">
                                <label class="form-check-label" for="col-purchase-price">Purchase Price</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-wholesale-price" data-column="wholesale_price">
                                <label class="form-check-label" for="col-wholesale-price">Wholesale Price</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-stock" data-column="stock" checked>
                                <label class="form-check-label" for="col-stock">Current Stock</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-opening-stock" data-column="opening_stock">
                                <label class="form-check-label" for="col-opening-stock">Opening Stock</label>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row mt-3">
                    <div class="col-md-6">
                        <h6 class="mb-3 text-muted">Additional Information</h6>
                        <div class="column-list">
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-unit" data-column="unit">
                                <label class="form-check-label" for="col-unit">Unit</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-tax" data-column="tax">
                                <label class="form-check-label" for="col-tax">Tax</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-tags" data-column="tags">
                                <label class="form-check-label" for="col-tags">Tags</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-short-desc" data-column="short_desc">
                                <label class="form-check-label" for="col-short-desc">Short Description</label>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <h6 class="mb-3 text-muted">Status & Dates</h6>
                        <div class="column-list">
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-status" data-column="status" checked>
                                <label class="form-check-label" for="col-status">Status</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-verified" data-column="verified">
                                <label class="form-check-label" for="col-verified">Verified</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-channel-visibility" data-column="channel_visibility">
                                <label class="form-check-label" for="col-channel-visibility">Visibility</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-featured" data-column="featured">
                                <label class="form-check-label" for="col-featured">Featured</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-prebooking" data-column="prebooking">
                                <label class="form-check-label" for="col-prebooking">Prebooking</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-created-at" data-column="created_at">
                                <label class="form-check-label" for="col-created-at">Created At</label>
                            </div>
                            <div class="form-check mb-2">
                                <input class="form-check-input column-checkbox" type="checkbox" id="col-actions" data-column="actions" disabled checked>
                                <label class="form-check-label" for="col-actions">
                                    Actions <small class="text-muted">(Always visible)</small>
                                </label>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
                <button type="button" class="btn btn-primary" id="applyColumnChanges">
                    <i class="bi bi-check-lg"></i> Apply Changes
                </button>
            </div>
        </div>
    </div>
</div>

<?php $__env->startPush('scripts'); ?>
<script>
document.addEventListener('DOMContentLoaded', function() {
    const FILTER_STORAGE_KEY_BASE = 'adminProductsFilters';
    const STORAGE_KEY_BASE = 'productColumnsVisibility';
    const SAVE_ENDPOINT = '<?php echo e(route("admin.products.column-preferences")); ?>';
    const perPageSelect = document.getElementById('productsPerPage');
    
    // Get elements
    const columnChooserModal = document.getElementById('columnChooserModal');
    const columnCheckboxes = document.querySelectorAll('.column-checkbox');
    const selectAllBtn = document.getElementById('selectAllColumns');
    const deselectAllBtn = document.getElementById('deselectAllColumns');
    const resetBtn = document.getElementById('resetToDefault');
    const applyBtn = document.getElementById('applyColumnChanges');
    
    // Get preferences from server (passed from controller)
    const serverVisibleColumns = <?php echo json_encode($visibleColumns ?? [], 15, 512) ?>;
    const defaultVisible = <?php echo json_encode($defaultVisible ?? [], 15, 512) ?>;
    const availableColumns = <?php echo json_encode($availableColumns ?? [], 15, 512) ?>;
    const productType = '<?php echo e(isset($productType) ? $productType : "single"); ?>';
    const STORAGE_KEY = `${STORAGE_KEY_BASE}_${productType}`;
    const FILTER_STORAGE_KEY = `${FILTER_STORAGE_KEY_BASE}_${productType}`;
    
    // Get default visible columns based on product type
    function getDefaultVisible() {
        return defaultVisible.length > 0 ? defaultVisible : ['image', 'name', 'category', 'shipping_days', 'price', 'stock', 'status', 'verified', 'channel_visibility', 'actions'];
    }

    function getValidColumns(columns) {
        const validColumns = availableColumns.length > 0 ? availableColumns : getAllAvailableColumns();
        const filtered = (Array.isArray(columns) ? columns : []).filter(col => validColumns.includes(col));
        if (!filtered.includes('image')) filtered.push('image');
        if (!filtered.includes('actions')) filtered.push('actions');
        return filtered;
    }

    function getCurrentQueryString() {
        const params = new URLSearchParams(window.location.search);
        params.delete('_token');
        return params.toString();
    }

    function persistCurrentFilters() {
        const currentQuery = getCurrentQueryString();
        if (currentQuery) {
            localStorage.setItem(FILTER_STORAGE_KEY, currentQuery);
        }
    }

    function restoreFiltersIfNeeded() {
        const currentQuery = getCurrentQueryString();
        const savedQuery = localStorage.getItem(FILTER_STORAGE_KEY);

        if (!currentQuery && savedQuery) {
            const targetUrl = `${window.location.pathname}?${savedQuery}`;
            if (targetUrl !== window.location.href) {
                window.location.replace(targetUrl);
                return true;
            }
        }
        return false;
    }
    
    // Load saved preferences from localStorage first, then server, then defaults
    function loadColumnPreferences() {
        const saved = localStorage.getItem(STORAGE_KEY);
        if (saved) {
            try {
                const preferences = JSON.parse(saved);
                const filtered = getValidColumns(preferences);
                return filtered.length > 0 ? filtered : getDefaultVisible();
            } catch (e) {
                // Ignore malformed values and continue fallback chain.
            }
        }

        // Backward compatibility for old storage key (without product type suffix)
        const legacySaved = localStorage.getItem(STORAGE_KEY_BASE);
        if (legacySaved) {
            try {
                const legacyPreferences = JSON.parse(legacySaved);
                const legacyFiltered = getValidColumns(legacyPreferences);
                if (legacyFiltered.length > 0) {
                    localStorage.setItem(STORAGE_KEY, JSON.stringify(legacyFiltered));
                    return legacyFiltered;
                }
            } catch (e) {
                // Ignore malformed legacy values and continue fallback chain.
            }
        }

        if (serverVisibleColumns && serverVisibleColumns.length > 0) {
            const serverFiltered = getValidColumns(serverVisibleColumns);
            if (serverFiltered.length > 0) {
                localStorage.setItem(STORAGE_KEY, JSON.stringify(serverFiltered));
                return serverFiltered;
            }
        }

        return getValidColumns(getDefaultVisible());
    }
    
    // Get all available columns (fallback if not provided from server)
    function getAllAvailableColumns() {
        if (availableColumns && availableColumns.length > 0) {
            return availableColumns;
        }
        const columns = ['image', 'id', 'name', 'sku', 'category', 'brand', 'hsn', 'shipping_days', 'price', 'mrp', 'purchase_price', 'wholesale_price', 'status', 'verified', 'channel_visibility', 'actions'];
        columns.splice(columns.indexOf('price') + 1, 0, 'stock', 'opening_stock');
        columns.push('unit', 'tax', 'tags', 'short_desc', 'featured', 'prebooking', 'created_at');
        return columns;
    }
    
    // Save preferences to database via AJAX
    function saveColumnPreferences(visibleColumns) {
        // Save to localStorage as backup
        localStorage.setItem(STORAGE_KEY, JSON.stringify(visibleColumns));
        
        // Get CSRF token
        const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
        
        // Save to database via AJAX
        fetch(SAVE_ENDPOINT, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json',
                'X-CSRF-TOKEN': csrfToken
            },
            body: JSON.stringify({
                columns: visibleColumns,
                product_type: productType
            })
        })
        .then(response => response.json())
        .then(data => {
            if (data.success) {
                console.log('Column preferences saved to database');
            } else {
                console.warn('Failed to save preferences to database:', data.message);
            }
        })
        .catch(error => {
            console.error('Error saving preferences to database:', error);
            // Preferences already saved to localStorage as fallback
        });
    }
    
    // Apply column visibility (only to table cells, not modal elements)
    function applyColumnVisibility(visibleColumns) {
        // Only target table cells, exclude modal elements
        const allColumns = document.querySelectorAll('.admin-table [data-column]');
        allColumns.forEach(element => {
            // Skip if element is inside a modal
            if (element.closest('.modal')) {
                return;
            }
            const column = element.getAttribute('data-column');
            // Always show image and actions
            if (column === 'image' || column === 'actions') {
                element.classList.remove('column-hidden');
            } else if (visibleColumns.includes(column)) {
                element.classList.remove('column-hidden');
            } else {
                element.classList.add('column-hidden');
            }
        });
    }
    
    // Update checkboxes based on visible columns
    function updateCheckboxes(visibleColumns) {
        if (columnCheckboxes && columnCheckboxes.length > 0) {
            columnCheckboxes.forEach(checkbox => {
                const column = checkbox.getAttribute('data-column');
                checkbox.checked = visibleColumns.includes(column);
            });
        }
    }
    
    // Get currently visible columns from checkboxes
    function getVisibleColumnsFromCheckboxes() {
        const visible = [];
        columnCheckboxes.forEach(checkbox => {
            if (checkbox.checked) {
                visible.push(checkbox.getAttribute('data-column'));
            }
        });
        return visible;
    }
    
    // Store current visible columns
    let currentVisibleColumns = [];
    
    // Initialize column visibility
    function initializeColumns() {
        let visibleColumns = loadColumnPreferences();
        // Store current visible columns
        currentVisibleColumns = [...visibleColumns];
        applyColumnVisibility(visibleColumns);
        updateCheckboxes(visibleColumns);
    }
    
    // Update checkboxes when modal is shown
    if (columnChooserModal) {
        columnChooserModal.addEventListener('show.bs.modal', function() {
            // Use stored current visible columns (from initialization or last apply)
            if (currentVisibleColumns && currentVisibleColumns.length > 0) {
                updateCheckboxes(currentVisibleColumns);
            } else if (serverVisibleColumns && serverVisibleColumns.length > 0) {
                // Fallback to server-provided columns
                updateCheckboxes(serverVisibleColumns);
            } else {
                // Last resort: read from table DOM (excluding modal)
                const visibleColumns = [];
                document.querySelectorAll('.admin-table [data-column]').forEach(el => {
                    // Skip if element is inside a modal
                    if (el.closest('.modal')) {
                        return;
                    }
                    const col = el.getAttribute('data-column');
                    // Only count columns that don't have column-hidden class
                    if (!el.classList.contains('column-hidden') && !visibleColumns.includes(col)) {
                        visibleColumns.push(col);
                    }
                });
                updateCheckboxes(visibleColumns);
            }
        });
    }
    
    // Select All
    if (selectAllBtn) {
        selectAllBtn.addEventListener('click', function() {
            columnCheckboxes.forEach(checkbox => {
                if (!checkbox.disabled) {
                    checkbox.checked = true;
                }
            });
        });
    }
    
    // Deselect All
    if (deselectAllBtn) {
        deselectAllBtn.addEventListener('click', function() {
            columnCheckboxes.forEach(checkbox => {
                if (!checkbox.disabled && checkbox.getAttribute('data-column') !== 'image' && checkbox.getAttribute('data-column') !== 'actions') {
                    checkbox.checked = false;
                }
            });
        });
    }
    
    // Reset to Default
    if (resetBtn) {
        resetBtn.addEventListener('click', function() {
            const defaults = getDefaultVisible();
            updateCheckboxes(defaults);
        });
    }
    
    // Apply Changes
    if (applyBtn) {
        applyBtn.addEventListener('click', function() {
            const visibleColumns = getVisibleColumnsFromCheckboxes();
            // Update stored current visible columns
            currentVisibleColumns = [...visibleColumns];
            applyColumnVisibility(visibleColumns);
            saveColumnPreferences(visibleColumns);
            
            // Close modal using Bootstrap API
            const modal = bootstrap.Modal.getInstance(columnChooserModal);
            if (modal) {
                modal.hide();
            }
        });
    }

    // Persist and restore filters across navigation.
    if (restoreFiltersIfNeeded()) {
        return;
    }
    persistCurrentFilters();

    const filterForm = document.querySelector(`form[action="<?php echo e(route('admin.products.index')); ?>"]`);
    if (filterForm) {
        filterForm.addEventListener('submit', function() {
            setTimeout(persistCurrentFilters, 0);
        });
    }

    const perPageForm = perPageSelect ? perPageSelect.closest('form') : null;
    if (perPageForm) {
        perPageForm.addEventListener('submit', function() {
            setTimeout(persistCurrentFilters, 0);
        });
    }

    const clearFiltersBtn = document.getElementById('clearProductFiltersBtn');
    if (clearFiltersBtn) {
        clearFiltersBtn.addEventListener('click', function() {
            localStorage.removeItem(FILTER_STORAGE_KEY);
        });
    }
    
    // Variant expand/collapse functionality
    document.addEventListener('click', function(e) {
        if (e.target.closest('.variant-toggle')) {
            const button = e.target.closest('.variant-toggle');
            const productId = button.getAttribute('data-product-id');
            const icon = document.getElementById('toggle-icon-' + productId);
            const variantRows = document.querySelectorAll('.variant-row[data-parent-id="' + productId + '"]');
            
            if (variantRows.length > 0) {
                const isExpanded = variantRows[0].style.display !== 'none';
                
                variantRows.forEach(row => {
                    row.style.display = isExpanded ? 'none' : 'table-row';
                });
                
                // Update icon
                if (icon) {
                    icon.className = isExpanded ? 'bi bi-chevron-right' : 'bi bi-chevron-down';
                }
            }
        }
    });
    
    // Auto-expand if search term matches a variant
    <?php if(request('search') && isset($productType) && $productType === 'variant'): ?>
        const searchTerm = '<?php echo e(request('search')); ?>'.toLowerCase();
        const variantRows = document.querySelectorAll('.variant-row');

        variantRows.forEach(row => {
            const rowText = row.textContent.toLowerCase();
            if (rowText.includes(searchTerm)) {
                const parentId = row.getAttribute('data-parent-id');
                const parentRow = document.querySelector('.product-row[data-product-id="' + parentId + '"]');
                if (parentRow) {
                    const toggleButton = parentRow.querySelector('.variant-toggle');
                    if (toggleButton) {
                        const icon = document.getElementById('toggle-icon-' + parentId);
                        const allVariantRows = document.querySelectorAll('.variant-row[data-parent-id="' + parentId + '"]');
                        
                        allVariantRows.forEach(vRow => {
                            vRow.style.display = 'table-row';
                        });
                        
                        if (icon) {
                            icon.className = 'bi bi-chevron-down';
                        }
                    }
                }
            }
        });
    <?php endif; ?>
    
    // Initialize on page load
    initializeColumns();

    // Per-page selector submits via native GET form.
});
</script>
<?php $__env->stopPush(); ?>

<?php $__env->stopSection(); ?>

<?php echo $__env->make('layouts.admin', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /var/www/html/shivajewellers_uat/resources/views/admin/products/index.blade.php ENDPATH**/ ?>