Skip to content

feat(oreel-web): implement product listing, category & search with filters#13

Merged
oreoluwa648 merged 3 commits into
mainfrom
feature/Product-Listing-Category-and-Search-with-Filters
Apr 11, 2026
Merged

feat(oreel-web): implement product listing, category & search with filters#13
oreoluwa648 merged 3 commits into
mainfrom
feature/Product-Listing-Category-and-Search-with-Filters

Conversation

@oreoluwa648
Copy link
Copy Markdown
Owner

Pull Request: Product Listing (Category + Search) with Filters

Branch: feature/Product-Listing-Category-and-Search-with-Filters
Related Issue: #6

Description

Implements product listing experience for oreel-web including category pages, search results, and client‑side filtering. Product data is fetched from a new server API route (/api/products) using Next.js App Router. Users can filter by price range, brand, and rating with URL‑driven state (shareable and back‑button friendly). Includes pagination, skeleton loaders, and empty states.

Changes Made

  • API routeapp/api/products/route.ts provides product data with query support (category, search, min/max price, brands, rating, pagination).
  • Category pagesapp/category/[slug]/page.tsx displays paginated product grid for each category.
  • Search pageapp/(shop)/search/page.tsx supports ?q= parameter with same grid and persistent search term.
  • Filteringcomponents/filters/Filters.tsx (price slider, brand checkboxes, rating filter) with URL sync.
  • Product componentsProductCard, ProductList for reusable product display.
  • Mock data – Extended mock-products.ts with categories, brands, ratings, and reviews.

Verification

  • Category pages show products with image, name, brand, price, rating, and pagination.
  • Search page reads ?q= param and returns matching products.
  • Filters update URL params and product list without page reload.
  • Skeleton loaders appear during fetch; “No products found” message when empty.
  • Filter controls are keyboard accessible.

Closes #6

…lters

Add server API for products, extend mock data with categories/ratings,
and implement category and search pages with URL-driven filters,
pagination, and product list components.
Files added/changed: app/api/products/route.ts, data/mock-products.ts,
components/products/*, components/filters/Filters.tsx, app/(shop)/search/page.tsx,
app/category/[slug]/page.tsx
- Use correct import for .
- Add explicit types to callbacks to remove implicit  (TS7006).
- Resolve module not found (TS2307) in .
@oreoluwa648 oreoluwa648 merged commit 3b56d28 into main Apr 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Product Listing (Category + Search) with Filters

1 participant