import { Box, Grid } from "@mui/material"; import { useEffect } from "react"; import { connect } from "react-redux"; import { Navigate, Route, Routes, useLocation, useParams } from "react-router-dom"; import { actionGoodById } from "../../actions/actionGoodById"; import { actionGoodsPopular } from "../../actions/actionGoodsPopular"; import { actionOrders } from "../../actions/actionOrders"; import { AdminLayoutPage } from "../admin/AdminLayoutPage"; import { CCartPage } from "../CartPage"; import { CProtectedRoute } from "../common/ProtectedRoute"; import { CDashboardPage } from "../DashboardPage"; import { GoodPage } from "../GoodPage"; import { Aside } from "../layout/Aside"; import Content from "../layout/Content"; import { Footer } from "../layout/Footer"; import { Header } from "../layout/Header"; import { MainPage } from "../MainPage"; import { CAdminGoodsPageContainer } from "./GoodsPageContainer"; import { CAdminGoodsSearchPageContainer } from "./GoodsSearchPageContainer"; const GoodPageContainer = ({ onLoad, onUnmount }) => { const params = useParams(); useEffect(() => { onLoad({ _id: params._id }); return () => { onUnmount && onUnmount(); }; }, []); return ; }; const CGoodPageContainer = connect(null, { onLoad: ({ _id }) => actionGoodById({ _id }), })(GoodPageContainer); const DashboardPageContainer = ({ onLoad }) => { useEffect(() => { onLoad(); }, []); return ; }; const CDashboardPageContainer = connect(null, { onLoad: () => actionOrders(), })(DashboardPageContainer); const MainPageContainer = ({ onLoad, goods }) => { useEffect(() => { onLoad(); }, []); return ; }; const CMainPageContainer = connect((state) => ({ goods: state.promise?.goodsPopular?.payload || [] }), { onLoad: () => actionGoodsPopular(), })(MainPageContainer); export const LayoutPage = () => { const location = useLocation(); return (
{!!location.pathname.match(/(\/categor)|(\/good)|(\/order)|(\/admin)+/) && (