+ {filteredProducts.map((product) => (
+
onProductClick?.(product)}
+ >
+

+
{product.name}
+
+ {product.rating}★
+ ({product.reviewCount})
+
+
{product.price}
+
+ ))}
+
+
+ );
};
-ProductCatalog.displayName = "ProductCatalog";
-
-export default memo(ProductCatalog);
\ No newline at end of file
+export default ProductCatalog;
diff --git a/src/components/sections/product/ProductCardFour.tsx b/src/components/sections/product/ProductCardFour.tsx
index 303ff14..83c17a4 100644
--- a/src/components/sections/product/ProductCardFour.tsx
+++ b/src/components/sections/product/ProductCardFour.tsx
@@ -1,238 +1,83 @@
-"use client";
+import React, { useState } from 'react';
+import { Heart } from 'lucide-react';
-import { memo, useCallback } from "react";
-import { useRouter } from "next/navigation";
-import CardStack from "@/components/cardStack/CardStack";
-import ProductImage from "@/components/shared/ProductImage";
-import { cls, shouldUseInvertedText } from "@/lib/utils";
-import { useTheme } from "@/providers/themeProvider/ThemeProvider";
-import { useProducts } from "@/hooks/useProducts";
-import type { Product } from "@/lib/api/product";
-import type { LucideIcon } from "lucide-react";
-import type { ButtonConfig, GridVariant, CardAnimationType, TitleSegment, ButtonAnimationType } from "@/components/cardStack/types";
-import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants";
-
-type ProductCardFourGridVariant = Exclude