Bug #11290
openBug fixes in E-commerce and admin dashboard in subscription branch
Description
*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.
*Category Sidebar Modernization & Persistence: Replaced legacy checkboxes with clean interactive pill buttons featuring active highlight states, keeping the full storefront category list visible so shoppers can quickly switch categories.
Breadcrumb Hierarchy & Title-Case Formatting: Enhanced breadcrumbs to follow Home > All Products > Category on category views for intuitive parent navigation, with normalized title-case formatting across raw category names and slugs.
Available Filter Scoping & Accordion Retention: Dynamically rendered only valid filter options for the selected category while utilizing option retention (discoveredAttrOptions) to prevent accordion menus from vanishing during multi-filter selection.
*Silent Loading & UX Optimization: Implemented seamless data refetching via placeholderData: keepPreviousData (avoiding disruptive screen flashes and accordion state resets) and removed the top loading green progress bar for a smoother shopping experience.
*Unified Search Card & In-Page Search Deduplication: Eliminated redundant duplicate in-page search inputs on PLP, added active search dismissal chips, and embedded ProductUnifiedCard.tsx
Subtasks
Related issues
Updated by Ajit A about 14 hours ago
- Tracker changed from Feature to Bug
- Project changed from Noxa_Jewellery to Evergreen farms (pos)
- Subject changed from Implement the complete Admin Panel and E-commerce Frontend flow, including order statistics (order count and total order amount) based on the configured timezone. to Bug fixes in E-commerce and admin dashboard in subscription branch
- Target version changed from Sprint (09/28/2026 - 10/02/2026) to Sprint (10/05/2026- 10/09/2026)
- Tested Date set to 10/01/2026
- Page/ Module (POS) set to E commerce
Updated by Ajit A about 5 hours ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
1. Repository: evergreenpos_E-commerce_new (Storefront Frontend)
Key Modifications & Feature Enhancements:
Search Dropdown Card Unification (
Header.tsx
):
Integrated
ProductUnifiedCard
directly inside the Global Header live search suggestions track.
Enabled dynamic variant selection, color swatch switching, dynamic discount tags (-85% OFF, BEST SELLER), and quantity (+ / -) Add-to-Cart controls inside search suggestions.
Header Sticky Navigation Fix (
Header.tsx
,
index.css
):
Made the Header root component sticky (sticky top-0 z-[1000]), removing inner nesting boundaries that caused the header to scroll off screen.
Removed overflow-x: clip from html, body in
index.css
, enabling standard viewport sticky coordinates.
Silent Background Loading & Option Stability (
FilteredProducts.tsx
):
Implemented placeholderData: keepPreviousData with @tanstack/react-query to eliminate layout flashing and skeleton jumping during filter/sort updates.
Added Category Option Retention (discoveredAttrOptions) and isOptionAvailable to ensure applying restrictive filters (like multiple sizes) does not cause Sub-category, Color, or Fit Type accordions to vanish.
Search Bar Deduplication & Applied Chips (
FilteredProducts.tsx
):
Removed the duplicate in-page search bar from the control toolbar, centralizing all queries through the Global Header search bar.
Added an active search dismissal chip Search: "..." [✕] in the Applied Filters bar for 1-click clearance.
Active Variant Selection in Unified Card (
ProductUnifiedCard.tsx
):
Enhanced variant resolution to auto-select and display matching variant images, colors, and prices when category filters are selected (e.g., selecting Camel Tan automatically displays the Camel Tan image and swatch).
Breadcrumb Navigation Fix (
AutoBreadcrumbs.tsx
,
productdetailsui.tsx
):
Corrected parent pathing from /all-categories to /product-categories on product details pages.
Repository: evergreen_pos_fe (Admin Panel Frontend)
Key Modifications & Feature Enhancements:
Dynamic Category Specifications & Attributes (
CreateProduct.tsx
):
Enabled dynamic rendering of category-configured specifications and attributes based on the selected category schema.
Added support for select dropdowns, multi-select, text inputs, and numeric-unit inputs with unit symbol tags.
Implemented bi-directional synchronization between the brand field and category brand attribute options.
Dynamic Subcategory Fetching (
Products.tsx
):
Updated inventory product list filters to fetch subcategories dynamically via getSubCategories(catId) upon category selection.
Added immediate state reset and memoized matching to prevent stale subcategories from lingering across category changes.
Git Commit Message:
text
feat(admin): enable dynamic category attributes in product creation and reactive subcategory filtering
3. Repository: evergreen_pos_be (Backend API Service)
Key Modifications & Feature Enhancements:
Facet Aggregation & Schema Matching (
product.service.js
):
Updated getProductForManageEcom aggregation pipeline to support both ObjectId and String formats for effectiveCategory and effectiveSubCategory.
Upgraded facetBase aggregation to compute category attribute counts across top-level attributes, variants (variantAttributes), dimension options, and root fields.
Enhanced variant-aware price sorting (price_asc / price_desc) considering offer prices and variant pricing.
Category Schema Integration (
ecom.controller.js
):
Included attributeDefinitions and dynamicFacets in the /comm/find API response for storefront dynamic filter rendering.
3. Repository: evergreen_pos_be (Backend API Service)
Key Modifications & Feature Enhancements:
Facet Aggregation & Schema Matching (
product.service.js
):
Updated getProductForManageEcom aggregation pipeline to support both ObjectId and String formats for effectiveCategory and effectiveSubCategory.
Upgraded facetBase aggregation to compute category attribute counts across top-level attributes, variants (variantAttributes), dimension options, and root fields.
Enhanced variant-aware price sorting (price_asc / price_desc) considering offer prices and variant pricing.
Category Schema Integration (
ecom.controller.js
):
Included attributeDefinitions and dynamicFacets in the /comm/find API response for storefront dynamic filter rendering.