From 2a9473f2fe566d9a1faf9e468d591a67e263a5cf Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Fri, 31 Jul 2026 18:44:28 +0000 Subject: [PATCH] Deploy --- src/components/shop/ProductFilters.tsx | 94 ++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/components/shop/ProductFilters.tsx diff --git a/src/components/shop/ProductFilters.tsx b/src/components/shop/ProductFilters.tsx new file mode 100644 index 0000000..a06abc5 --- /dev/null +++ b/src/components/shop/ProductFilters.tsx @@ -0,0 +1,94 @@ +'use client' +import { X } from 'lucide-react' + +export interface FilterState { + category: string + maxPrice: number + inStockOnly: boolean +} + +interface Category { id: string; title: string } + +interface ProductFiltersProps { + categories: Category[] + filters: FilterState + onChange: (f: FilterState) => void + onReset: () => void + isMobile?: boolean + onClose?: () => void +} + +export default function ProductFilters({ categories, filters, onChange, onReset, isMobile, onClose }: ProductFiltersProps) { + return ( +
+ {isMobile && ( +
+

Filters

+ +
+ )} + + {/* Category */} + {categories.length > 0 && ( +
+

Category

+
+ + {categories.map(cat => ( + + ))} +
+
+ )} + + {/* Price */} +
+

Max Price

+
+ {[0, 250, 500, 1000, 2500].map(price => ( + + ))} +
+
+ + {/* In Stock */} +
+ +
+ + +
+ ) +}