# Changelog - Website Sale Aplicoop

## [18.0.1.3.0] - 2026-02-16

### Added
- **Lazy Loading Feature**: Configurable product pagination for significantly faster page loads
  - New Settings: `Enable Lazy Loading`, `Products Per Page`
  - New endpoint: `GET /eskaera/<order_id>/load-page?page=N`
  - JavaScript method: `_attachLoadMoreListener()`
  - Model method: `group_order._get_products_paginated()`

- **Configuration Parameters**:
  - `website_sale_aplicoop.lazy_loading_enabled` (Boolean, default: True)
  - `website_sale_aplicoop.products_per_page` (Integer, default: 20)

- **Frontend Components**:
  - New template: `eskaera_shop_products` (reusable for initial page + AJAX)
  - Load More button with pagination controls
  - Spinner during AJAX load ("Loading..." state)
  - Event listener re-attachment for dynamically loaded products

- **Documentation**:
  - Complete lazy loading guide: `docs/LAZY_LOADING.md`
  - Configuration examples
  - Troubleshooting section
  - Performance metrics

### Changed
- Template `eskaera_shop`:
  - Products grid now has `id="products-grid"`
  - Calls reusable `eskaera_shop_products` template
  - Conditional "Load More" button display

- JavaScript `website_sale.js`:
  - `_attachEventListeners()` now calls `_attachLoadMoreListener()`
  - Re-attaches listeners after AJAX loads new products

- README.md:
  - Added lazy loading feature to features list
  - Added version 18.0.1.3.0 to changelog

### Performance Impact
- **Initial page load**: 10-20s → 500-800ms (20x faster)
- **Product DOM size**: 1000 elements → 20 elements (initial)
- **Subsequent page loads**: 200-400ms via AJAX
- **Price calculation**: Only for visible products (reduced from 1000+ to 20)

### Technical Details
- Zero-impact if lazy loading disabled
- Transparent pagination (no URL changes)
- Maintains cart synchronization
- Compatible with existing search/filter
- No changes to pricing logic or validation

---

## [18.0.1.2.0] - 2026-02-02

### Added
- Improved UI elements in cart and checkout

### Fixed
- Pickup date calculation (was adding extra week)
- Delivery date display on order pages

### Changed
- Cart styling: 2x text size, larger icons
- Checkout button: Enhanced visibility

---

## [18.0.1.0.0] - 2024-12-20

### Added
- Initial release of Website Sale Aplicoop
- Group order management system
- Multi-language support (ES, PT, GL, CA, EU, FR, IT)
- Member management and tracking
- Order state machine (draft → confirmed → collected → invoiced → completed)
- Separate shopping carts per group order
- Cutoff and pickup date validation
- Integration with OCA ecosystem (pricing, taxes, etc.)
