From 82e03978b89938219958032efb1448cc76baa181 Mon Sep 17 00:00:00 2001
From: Saumit <justsaumit@protonmail.com>
Date: Sat, 27 Sep 2025 02:14:26 +0530
Subject: Initial snapshot - OpenTelemetry demo 2.1.3 -f

---
 .../components/ProductList/ProductList.tsx         | 50 ++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 src/react-native-app/components/ProductList/ProductList.tsx

(limited to 'src/react-native-app/components/ProductList/ProductList.tsx')

diff --git a/src/react-native-app/components/ProductList/ProductList.tsx b/src/react-native-app/components/ProductList/ProductList.tsx
new file mode 100644
index 0000000..30bd6ef
--- /dev/null
+++ b/src/react-native-app/components/ProductList/ProductList.tsx
@@ -0,0 +1,50 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+/**
+ * Copied with modification from:
+ *  src/frontend/pages/product/[productId]/index.tsx
+ *  src/frontend/components/ProductList/ProductList.tsx
+ */
+import Toast from "react-native-toast-message";
+import { useCallback } from "react";
+import ProductCard from "@/components/ProductCard";
+import { Product } from "@/protos/demo";
+import { ThemedScrollView } from "@/components/ThemedScrollView";
+import { useCart } from "@/providers/Cart.provider";
+
+interface IProps {
+  productList: Product[];
+}
+
+const ProductList = ({ productList }: IProps) => {
+  const { addItem } = useCart();
+  const onAddItem = useCallback(
+    async (id: string) => {
+      addItem({
+        productId: id,
+        quantity: 1,
+      });
+
+      Toast.show({
+        type: "success",
+        position: "bottom",
+        text1: "This item has been added to your cart",
+      });
+    },
+    [addItem],
+  );
+
+  return (
+    <ThemedScrollView>
+      {productList.map((product) => (
+        <ProductCard
+          key={product.id}
+          product={product}
+          onClickAdd={() => onAddItem(product.id)}
+        />
+      ))}
+    </ThemedScrollView>
+  );
+};
+
+export default ProductList;
-- 
cgit v1.2.3

