summaryrefslogtreecommitdiff
path: root/src/frontend/components/ProductList
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/components/ProductList')
-rw-r--r--src/frontend/components/ProductList/ProductList.styled.ts14
-rw-r--r--src/frontend/components/ProductList/ProductList.tsx23
-rw-r--r--src/frontend/components/ProductList/index.ts4
3 files changed, 41 insertions, 0 deletions
diff --git a/src/frontend/components/ProductList/ProductList.styled.ts b/src/frontend/components/ProductList/ProductList.styled.ts
new file mode 100644
index 0000000..3776404
--- /dev/null
+++ b/src/frontend/components/ProductList/ProductList.styled.ts
@@ -0,0 +1,14 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+import styled from 'styled-components';
+
+export const ProductList = styled.div`
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: 24px;
+
+ ${({ theme }) => theme.breakpoints.desktop} {
+ grid-template-columns: repeat(3, auto);
+ }
+`;
diff --git a/src/frontend/components/ProductList/ProductList.tsx b/src/frontend/components/ProductList/ProductList.tsx
new file mode 100644
index 0000000..0546eae
--- /dev/null
+++ b/src/frontend/components/ProductList/ProductList.tsx
@@ -0,0 +1,23 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+import { CypressFields } from '../../utils/enums/CypressFields';
+import { Product } from '../../protos/demo';
+import ProductCard from '../ProductCard';
+import * as S from './ProductList.styled';
+
+interface IProps {
+ productList: Product[];
+}
+
+const ProductList = ({ productList }: IProps) => {
+ return (
+ <S.ProductList data-cy={CypressFields.ProductList}>
+ {productList.map(product => (
+ <ProductCard key={product.id} product={product} />
+ ))}
+ </S.ProductList>
+ );
+};
+
+export default ProductList;
diff --git a/src/frontend/components/ProductList/index.ts b/src/frontend/components/ProductList/index.ts
new file mode 100644
index 0000000..3ff921c
--- /dev/null
+++ b/src/frontend/components/ProductList/index.ts
@@ -0,0 +1,4 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+export { default } from './ProductList';