diff --git a/pos.php b/pos.php index 28d4491..7a9c5d5 100644 --- a/pos.php +++ b/pos.php @@ -448,13 +448,13 @@ require __DIR__ . '/includes/header.php';
- $item): + $item): $itemSkuRaw = (string) $sku; $primaryNameRaw = trim((string) (current_lang() === 'ar' ? ($item['name_ar'] ?? '') : ($item['name_en'] ?? ''))); $fallbackNameRaw = trim((string) (current_lang() === 'ar' ? ($item['name_en'] ?? '') : ($item['name_ar'] ?? ''))); $itemNameRaw = $primaryNameRaw !== '' ? $primaryNameRaw - : ($fallbackNameRaw !== '' ? $fallbackNameRaw : ('SKU ' . $itemSkuRaw)); + : ($fallbackNameRaw !== '' ? $fallbackNameRaw : (tr('صنف ' . $itemSkuRaw, 'Item ' . $itemSkuRaw))); $searchBits = [ (string) ($item['name_ar'] ?? ''), (string) ($item['name_en'] ?? ''), @@ -474,7 +474,7 @@ require __DIR__ . '/includes/header.php'; $isRecentlyAdded = $createdAtStamp && $createdAtStamp >= strtotime('-7 days'); $createdLabel = $createdAtStamp ? date('Y-m-d', $createdAtStamp) : ''; ?> -
+
-
-
SKU:
- -
:
- -
@@ -769,21 +763,32 @@ document.getElementById('posBarcode').addEventListener('keypress', function(e) { } }); +const INITIAL_PRODUCT_LIMIT = 100; + function applyFilters() { const q = document.getElementById('posSearch').value.toLowerCase().trim(); const activeCat = document.querySelector('.cat-btn.active').dataset.cat; - + let visibleCount = 0; + document.querySelectorAll('.product-card').forEach(card => { const searchable = (card.dataset.search || card.dataset.name || '').toLowerCase(); const cat = card.dataset.cat; - + const matchesSearch = q === '' || searchable.includes(q); const matchesCat = (activeCat === 'all' || cat === activeCat); - - card.hidden = !(matchesSearch && matchesCat); + const matches = matchesSearch && matchesCat; + const withinInitialLimit = q !== '' || visibleCount < INITIAL_PRODUCT_LIMIT; + + card.hidden = !(matches && withinInitialLimit); + + if (matches) { + visibleCount += 1; + } }); } +applyFilters(); + // Cart Logic function addToCart(sku) { if (!catalogData[sku]) return;