'use client'; import { Product } from "lib/shopify/types"; import { useState } from "react"; import { Heading } from "../ui/Typography"; import { FilterSidebar } from "./FilterSidebar"; import { FilterButton } from "./ProductComponents/FilterButton"; import { FilterTagList } from "./ProductComponents/FilterTagList"; import { ProductCounter } from "./ProductComponents/ProductCounter"; import { ProductsList } from "./ProductComponents/ProductsList"; import { SortDropdown } from "./client/SortDropdown"; import { useProductFilters } from "./hooks/useProductFilters"; interface ProductGridProps { products: Product[]; title?: string; showControls?: boolean; } export function ProductGrid({ products, title = "Gotovi proizvodi", showControls = true }: ProductGridProps) { const [isSidebarOpen, setSidebarOpen] = useState(false); const { activeFilters, sortOption, sortedProducts, handleApplyFilters, handleSortChange, removeFilter, clearAllFilters, formatFilterTag } = useProductFilters(products); return (
{title && {title}} {/* Filter and Sort Controls */} {showControls && ( <>
setSidebarOpen(true)} />
{/* Filter tags and product count */}
)} {/* Products grid */}
{/* Filter Sidebar */} {showControls && ( setSidebarOpen(false)} onApplyFilters={handleApplyFilters} activeFilters={activeFilters} /> )}
); }