Issue #61
[UI/UX] Build Marketplace Discovery Grid View (Desktop & Mobile)
馃敶 Priority: Critical
Difficulty: Hard
Estimated Effort: 4-5 days
Relevant Files: src/app/marketplace/page.tsx, src/components/marketplace/ProductCard.tsx, src/components/marketplace/FilterSidebar.tsx, src/components/marketplace/Grid.tsx
Labels: ui, marketplace, priority:critical, figma
Requirements
-
Responsive Grid Architecture
- Build the highly responsive electronics grid view from Figma using CSS Grid (
grid-cols-1 md:grid-cols-3 lg:grid-cols-4).
- Create a
ProductCard component displaying: Device image (Next.js <Image>), Title, Condition badge (New, Used, Refurbished), Price in USDC, and a Seller Trust Score badge.
- Implement hover states: card elevates (
hover:-translate-y-1) and image scales up (hover:scale-105) to create the premium feel defined in the Figma design.
- Build a sticky filter sidebar on desktop (collapsible drawer on mobile) with: Category, Price Range slider, Condition checkboxes, and Minimum Seller Trust Score.
-
Screenshot Requirement
- Capture and commit screenshots of the Desktop grid view (populated with at least 12 product cards) and the Mobile grid view.
- Include a screenshot of the filter sidebar in its open state on both desktop and mobile.
- Place all screenshots in
src/components/marketplace/screenshots/.
-
Testing Requirements
- Component test (React Testing Library): Render the grid with mocked product data and assert that
ProductCard renders the correct title, price, and condition badge.
- E2E test: Verify that changing a filter (e.g., Category = Phones) updates the URL query params and the displayed grid refreshes correctly.
Issue #61
[UI/UX] Build Marketplace Discovery Grid View (Desktop & Mobile)
馃敶 Priority: Critical
Difficulty: Hard
Estimated Effort: 4-5 days
Relevant Files:
src/app/marketplace/page.tsx,src/components/marketplace/ProductCard.tsx,src/components/marketplace/FilterSidebar.tsx,src/components/marketplace/Grid.tsxLabels:
ui,marketplace,priority:critical,figmaRequirements
Responsive Grid Architecture
grid-cols-1 md:grid-cols-3 lg:grid-cols-4).ProductCardcomponent displaying: Device image (Next.js<Image>), Title, Condition badge (New, Used, Refurbished), Price in USDC, and a Seller Trust Score badge.hover:-translate-y-1) and image scales up (hover:scale-105) to create the premium feel defined in the Figma design.Screenshot Requirement
src/components/marketplace/screenshots/.Testing Requirements
ProductCardrenders the correct title, price, and condition badge.