Bug #11290
Updated by Ajit A about 9 hours ago
*Two-Way URL Sync: Synchronized all active filters, price ranges, view modes, and sort options directly to the URL for shareable and bookmarkable links.
*Category Sidebar Modernization: Replaced sidebar checkboxes with clean interactive text buttons with active highlight states.
*Human-Readable URL Parameters: Replaced raw database UUIDs/ObjectIDs with clean category and subcategory names in URL query parameters (?category=...&subcategory=...).
*Persistent Category List: Kept all storefront categories visible in the sidebar at all times so users can easily switch categories.
*Breadcrumb Hierarchy Enhancement: Added an intermediate All Products breadcrumb link (Home > All Products > Category) on category pages so users can easily navigate back to the full catalog.
*Breadcrumb Formatting: Added Title-Case formatting to normalize raw category names and slugs in breadcrumbs.
Variant-Aware Price Sorting: Fixed Price: Low to High, Price: High to Low, and Top Discounts sorting to properly evaluate variant-level selling and offer prices.
*Dynamic Price Sliders & Budget Presets: Bounded price sliders and quick budget preset chips to real variant price spectrums across multi-currency conversions.
*Outside-Click Dismiss: Added click-outside and touch-dismiss behavior for custom sort dropdowns.
*Scoped Facet Pruning & Clear All: Restricted subcategories and dynamic attributes to the selected category, and ensured "Clear all" cleanly resets all filters and URL parameters.
*Backend Resolution & Resilience: Updated backend API queries in product.service.js and ecom.controller.js to resolve categories by ID, name, or slug without Mongoose CastError exceptions.