From 1fbf852748922ff46b7f841363339d97e72366fb Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Mon, 27 Jul 2026 18:59:58 +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 */} +
+ +
+ + +
+ ) +}