diff --git a/src/App.jsx b/src/App.jsx index 3020ca2..9e18229 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,17 +1,20 @@ import React from "react"; import Banner from "./components/Banner/Banner"; import UserPanel from "./components/User/UserPanel"; -import ProductsList from "./components/Products/ProductsList"; import UserProvider from "./providers/UserProvider"; import ProductsProvider from "./providers/ProductsProvider"; +import HistoryProvider from "./providers/HistoryProvider"; +import Navigation from "./components/User/Navigation"; function App() { return ( - - - + + + + + ); diff --git a/src/components/Products/FilterPanel.jsx b/src/components/FilterPanel/FilterPanel.jsx similarity index 97% rename from src/components/Products/FilterPanel.jsx rename to src/components/FilterPanel/FilterPanel.jsx index 5924262..a95a611 100644 --- a/src/components/Products/FilterPanel.jsx +++ b/src/components/FilterPanel/FilterPanel.jsx @@ -1,5 +1,5 @@ import React from "react"; -import "./products.scss"; +import "./filter.scss"; const optionsData = { price: { diff --git a/src/components/FilterPanel/filter.scss b/src/components/FilterPanel/filter.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/components/Products/ProductsList.jsx b/src/components/Products/ProductsList.jsx index 752c1b0..8ffdc90 100644 --- a/src/components/Products/ProductsList.jsx +++ b/src/components/Products/ProductsList.jsx @@ -2,7 +2,7 @@ import React, { useEffect, useContext, useState } from "react"; import { usePagination } from "../../hooks/index"; import { ProductsContext } from "../../providers/index"; import Product from "./Product"; -import FilterPanel from "./FilterPanel"; +import FilterPanel from "../FilterPanel/FilterPanel"; import { priceFilter } from "../../utils/index"; import "./products.scss"; diff --git a/src/components/ProductsHistory/ListHistory.jsx b/src/components/ProductsHistory/ProductsHistory.jsx similarity index 79% rename from src/components/ProductsHistory/ListHistory.jsx rename to src/components/ProductsHistory/ProductsHistory.jsx index 8db7fe8..4d720c1 100644 --- a/src/components/ProductsHistory/ListHistory.jsx +++ b/src/components/ProductsHistory/ProductsHistory.jsx @@ -1,15 +1,15 @@ import React, { useEffect, useContext, useState } from "react"; import { usePagination } from "../../hooks/index"; -import { ProductsContext } from "../../providers/index"; import RedeemedProduct from "./RedeemedProduct"; -import FilterPanel from "./FilterPanel"; +import FilterPanel from "../FilterPanel/FilterPanel"; import { priceFilter } from "../../utils/index"; -import "./products.scss"; +import { HistoryContext } from "../../providers/index"; +import "./history.scss"; const ITEMS_PER_PAGE = 16; -const ListHistory = () => { - const { products, setProductResponse } = useContext(ProductsContext); +const ProductsHistory = () => { + const { products } = useContext(HistoryContext); const [filteredProducts, setProducts] = useState([]); @@ -38,9 +38,7 @@ const ListHistory = () => { />
{currentData().map((item, key) => { - return ( - - ); + return ; })}
@@ -60,4 +58,4 @@ const ListHistory = () => {
); }; -export default ListHistory; +export default ProductsHistory; diff --git a/src/components/ProductsHistory/RedeemedProduct.jsx b/src/components/ProductsHistory/RedeemedProduct.jsx index 0327bc0..f7a2ca3 100644 --- a/src/components/ProductsHistory/RedeemedProduct.jsx +++ b/src/components/ProductsHistory/RedeemedProduct.jsx @@ -1,6 +1,5 @@ import React from "react"; - -import "./products.scss"; +import "./history.scss"; const Product = ({ item: { diff --git a/src/components/User/Navigation.jsx b/src/components/User/Navigation.jsx new file mode 100644 index 0000000..6be50d1 --- /dev/null +++ b/src/components/User/Navigation.jsx @@ -0,0 +1,17 @@ +import React from "react"; +import { Switch, Route } from "react-router-dom"; +import ProductsList from "../Products/ProductsList"; +import ProductsHistory from "../ProductsHistory/ProductsHistory"; + +const Navigation = () => { + return ( + <> + + + + + + ); +}; + +export default Navigation; diff --git a/src/components/User/UserPanel.jsx b/src/components/User/UserPanel.jsx index 2d7be0f..f3d0026 100644 --- a/src/components/User/UserPanel.jsx +++ b/src/components/User/UserPanel.jsx @@ -1,10 +1,11 @@ import React, { useEffect, useContext } from "react"; +import { NavLink } from "react-router-dom"; import { coin } from "../../assets/index"; import { UserContext } from "../../providers/UserProvider"; import { CoinsModal } from "../Modals/index"; import { useModal } from "../../hooks/index"; -import { Switch, Route } from "react-router-dom"; -import ProductsList from "../Products/ProductsList"; +import { routes } from "../../routes"; + import "./user.scss"; const UserPanel = () => { @@ -21,21 +22,35 @@ const UserPanel = () => { }; const { name, points } = user; + + const links = routes.map((route, key) => { + return ( +
  • + + {route.linkname} + +
  • + ); + }); return ( <> - - - - - - {coinsModal && ( - - )} -
    -
    {name}
    -
    - Coins - {points} +
    + {coinsModal && ( + + )} +
    +
      {links}
    +
    +
    +
    {name}
    +
    + Coins + {points} +
    diff --git a/src/providers/HistoryProvider.jsx b/src/providers/HistoryProvider.jsx index e639923..2d152c8 100644 --- a/src/providers/HistoryProvider.jsx +++ b/src/providers/HistoryProvider.jsx @@ -6,7 +6,7 @@ export const HistoryContext = React.createContext(); const HistoryProvider = ({ children }) => { const [products, setProducts] = useState({}); - const [productResponse, setProductResponse] = useState({}); + const [productResponse, setProductResponse] = useState([]); useEffect(() => { getHistory().then((products) => { diff --git a/src/providers/ProductsProvider.jsx b/src/providers/ProductsProvider.jsx index 0ff9859..31b0bd0 100644 --- a/src/providers/ProductsProvider.jsx +++ b/src/providers/ProductsProvider.jsx @@ -6,7 +6,7 @@ export const ProductsContext = React.createContext(); const ProductsProvider = ({ children }) => { const [products, setProducts] = useState({}); - const [productResponse, setProductResponse] = useState({}); + const [productResponse, setProductResponse] = useState([]); useEffect(() => { getProducts().then((products) => { diff --git a/src/providers/index.jsx b/src/providers/index.jsx index 54c6b3a..cff1547 100644 --- a/src/providers/index.jsx +++ b/src/providers/index.jsx @@ -1,4 +1,5 @@ import { ProductsContext } from "./ProductsProvider"; import { UserContext } from "./UserProvider"; +import { HistoryContext } from "./HistoryProvider"; -export { ProductsContext, UserContext }; +export { ProductsContext, UserContext, HistoryContext };