import Breadcrumb from "../components/Breadcrumbs";
import {
Accordion,
AccordionDetails,
AccordionSummary, Box,
CircularProgress,
Container, Divider, Grid, Pagination,
Typography,
useMediaQuery
} from "@mui/material";
import {connect} from "react-redux";
import {actionFullOrderFind} from "../actions/ActionOrderFind";
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
import {timeCalc} from "./ProductPage";
import {backURL} from "../actions/PathDB";
import {actionMyOrderClear} from "../reducers/MyOrdersReducer";
import {useEffect, useState} from "react";
import imgNotFound from "../img/catalog/imgNotFound.png";
import Link from "react-router-dom/es/Link";
import {NotFoundBlock} from "../components/NotFoundBlock";
const AccordionHeaderText = ({columnText, content}) => {
return (
{columnText}
{content}
)
}
const AccordionItem = ({data}) => {
const time = timeCalc(+data['createdAt'])
const [status, setStatus] = useState(false);
return (
setStatus(!status)}>
}
>
{!status && }
{!status &&
{data['orderGoods'] && data['orderGoods'].map((item, index, array) => {
if (index < 2) {
return
}
else if (index === 2) {
return
+{array.length - 2}
}
})
}
}
{data['orderGoods'] && data['orderGoods'].length > 0 ?
<>
Product
Price
Count
Sum
{data['orderGoods'].map(item => {
return
{item.good?.name || 'product name'}
{item?.price ? '$' + parseFloat(item.price).toFixed(2) : 'NaN'}
{item?.count || '1'}
{item?.price && item?.count ? '$'+parseFloat(item.price * item.count).toFixed(2) : 'NaN'}
})}
Total
{data?.total ? '$'+parseFloat(data.total).toFixed(2) : 'NaN'}
> :
Error
}
)
}
const MainOrders = ({itemsPerPage=10, orders, onFindOrders, onOrdersClear}) => {
const [page, setPage] = useState(1)
const [count, setCount] = useState(1)
const handleChange = (event, value) => {
setPage(value);
}
useEffect(() => {
onOrdersClear()
}, [onOrdersClear])
useEffect(() => {
if(orders?.orderResult && Object.entries(orders.orderResult).length > 0) {
setCount(Math.ceil(Object.entries(orders.orderResult).length / itemsPerPage))
}
}, [orders])
if(Object.entries(orders).length === 0) onFindOrders()
return (
<>
{Object.entries(orders).length === 0 ?
:
Object.entries(orders?.orderResult).length > 0 ?
{Object.values(orders.orderResult).slice((page - 1) * itemsPerPage, page * itemsPerPage).map(item => )}
:
}
>
)
}
export const CMainOrders = connect(state=>({orders: state.myorders}), {onFindOrders: actionFullOrderFind, onOrdersClear: actionMyOrderClear})(MainOrders)
const MyOrdersPage = () => {
const matches = useMediaQuery('(max-width:768px)')
return (
<>
>
)
}
export default MyOrdersPage