import Header from "../components/Header";
import Footer from "../components/Footer";
import Breadcrumb from "../components/Breadcrumbs";
import {
Accordion,
AccordionDetails,
AccordionSummary, Box, Button,
Card, CardActionArea, CardActions, CardContent, CardMedia,
Container, Divider,
Grid,
Typography,
useMediaQuery
} from "@mui/material";
import {connect} from "react-redux";
import {actionFullCatById, actionFullRootCats} from "../actions/ActionCategory";
import Link from "react-router-dom/es/Link";
import Page404 from "./404Page";
import Route from "react-router-dom/es/Route";
import Switch from "react-router-dom/es/Switch";
import {useEffect, useState} from "react";
import {backURL} from "../actions/PathDB";
import {actionCartAdd} from "../reducers/CartReducer";
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
import FavoriteBorderIcon from "@mui/icons-material/FavoriteBorder";
import AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart';
import {Pagination} from "@mui/material";
const CategoryItem = ({object: {_id, name, subCategories}={}}) => {
const [expanded, setExpanded] = useState(false);
const handleChange = (panel) => (event, isExpanded) => {
setExpanded(isExpanded ? panel : false);
};
return (
<>
{subCategories === null || !subCategories ?
{name}
:
}
aria-controls="panel1bh-content"
id="panel1bh-header"
>
{name}
{subCategories && Object.values(subCategories).map(item =>
)}
}
>
)
}
const CategoryAside = ({category}) => {
return (
PRODUCT CATEGORIES
{category && Object.values(category).map(item =>
)}
)
}
const GoodCard = ({good:{_id, name, description, price, images}={}, onCartAdd}) => {
return (
{name}
{description.length > 60 ?
'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' :
description
}
$ {parseFloat(price).toFixed(2)}
)
}
const CGoodCard = connect(null, {onCartAdd: actionCartAdd})(GoodCard)
const Goods = ({_id='5dc49f4d5df9d670df48cc64', category={}}) => {
// const itemsPerPage = 6
// const [page, setPage] = useState(1)
// const [count, setCount] = useState(1)
// const handleChange = (event, value) => {
// setPage(value);
// }
return (
<>
{(Object.values(category) || []).map(item => {
if (item['_id'] === _id) {
if(!item.goods || item['goods'] === null) {
return not info
}
if (item.goods) {
// setCount(item['goods'].length / itemsPerPage)
return (item['goods'] || []).map((good, index) => )
}
}
else if(item['subCategories'] !== null) {
return (item['subCategories'] || []).map(subItem => {
if (subItem['_id'] === _id) {
if(subItem['goods'] === null) return not info
// setCount(subItem['goods'].length / itemsPerPage)
return (subItem['goods'] || []).map(good => )
}
else if(subItem['subCategories'] !== null) {
return (subItem['subCategories'] || []).map(subSubItem => {
if (subSubItem['_id'] === _id) {
if(subSubItem['goods'] === null) return not info
// setCount(subSubItem['goods'].length / itemsPerPage)
return (subSubItem['goods'] || []).map(good => )
}
})
}
})
}
})}
{/**/}
{/**/}
{/* */}
{/**/}
>
)
}
const CGoods = connect(state => ({category: state.category}))(Goods)
const BlockGood = ({match:{params:{_id}}, getData}) => {
useEffect(() => {
getData(_id)
},[_id, getData])
return(
)
}
export const CBlockGood= connect(null, {getData: actionFullCatById})(BlockGood)
const Products = () => {
return (
)
}
const CatalogPage = ({category={}, actionRootCat}) => {
const matches = useMediaQuery('(max-width:899px)')
if(Object.entries(category).length === 0) actionRootCat()
return (
<>
>
)
}
const CCatalogPage = connect(state => ({category: state.category}), {actionRootCat: actionFullRootCats})(CatalogPage)
export default CCatalogPage