diff --git a/src/client/components/ProductDetails/ProductDetails.stories.js b/src/client/components/ProductDetails/ProductDetails.stories.js
index 8ba30f9b..1e2bf215 100644
--- a/src/client/components/ProductDetails/ProductDetails.stories.js
+++ b/src/client/components/ProductDetails/ProductDetails.stories.js
@@ -17,6 +17,6 @@ export const Product = () => (
Price={number('Price', '200')}
productColor={text('Color', 'Black')}
productSize={text('Size', 'XL')}
- isFavorite={boolean('Change Favorite Heart', true)}
+ isFavorite={boolean('Change Favorite Heart', false)}
/>
);
diff --git a/src/client/containers/FavoritesPage/FavoritesPage.Container.js b/src/client/containers/FavoritesPage/FavoritesPage.Container.js
index f3b069ac..6ca7337d 100644
--- a/src/client/containers/FavoritesPage/FavoritesPage.Container.js
+++ b/src/client/containers/FavoritesPage/FavoritesPage.Container.js
@@ -30,7 +30,7 @@ const FavoritesPageContainer = () => {
Price={product.price}
productColor={product.color}
productSize={product.size}
- isFavorite={false}
+ isFavorite={true}
imageAlt={product.name}
/>
);
diff --git a/src/client/containers/MonthlyArrivalsPage/MonthlyArrivalsPage.Container.js b/src/client/containers/MonthlyArrivalsPage/MonthlyArrivalsPage.Container.js
index cacc53e5..52989006 100644
--- a/src/client/containers/MonthlyArrivalsPage/MonthlyArrivalsPage.Container.js
+++ b/src/client/containers/MonthlyArrivalsPage/MonthlyArrivalsPage.Container.js
@@ -28,7 +28,7 @@ const MonthlyArrivalsPageContainer = ({ isAuthenticated }) => {
Price={product.price}
productColor={product.color}
productSize={product.size}
- isFavorite={true}
+ isFavorite={false}
imageAlt={product.name}
/>
))
diff --git a/src/client/containers/ProductPage/ProductPage.Container.js b/src/client/containers/ProductPage/ProductPage.Container.js
index 32a3f613..7eb74160 100644
--- a/src/client/containers/ProductPage/ProductPage.Container.js
+++ b/src/client/containers/ProductPage/ProductPage.Container.js
@@ -16,14 +16,23 @@ const ProductPageContainer = ({ isAuthenticated }) => {
const [product, setProduct] = React.useState({});
const [category, setCategory] = React.useState('');
const [similarProduct, setSimilarProduct] = React.useState([]);
+ const [fav, setFav] = React.useState(false);
const productData = useFetchApi(`products/${id}`);
+ const userUid = JSON.parse(localStorage.getItem('user')).uid;
+ const favsData = useFetchApi(`users/${userUid}/${id}/favorites`);
React.useEffect(() => {
- if (!productData.isLoading) {
+ if (!productData.isLoading && !favsData.isLoading) {
setProduct(productData.data[0]);
+ if (favsData.data && !favsData.data.error) {
+ const result = favsData.data.some((item) => {
+ return item.id === parseInt(id, 10);
+ });
+ setFav(result);
+ }
}
- }, [id, productData]);
+ }, [id, productData, favsData]);
const categoryData = useFetchApi(`categories/${product.category_id}`);
@@ -62,6 +71,7 @@ const ProductPageContainer = ({ isAuthenticated }) => {
Price={parseInt(product.price, 10)}
productColor={product.color}
productSize={product.size}
+ isFavorite={fav}
/>
) : (