169 похожих чатов

Import React, { useEffect, useState } from 'react'; import { useParams

} from 'react-router-dom';
import './order.css';
import OrderComponent from '../../../../../components/Order/Order';
import { InputLabel, Select } from '@mui/material';
import MenuItem from '@mui/material/MenuItem';
import axios from 'axios';
import IOrder from '../../../../../types/order';
import userStore from '../../../../../store/userStore';
import Popup from '../../../../../components/Popup/Popup';
import InfiniteScroll from 'react-infinite-scroll-component';

const Order = () => {
const { orderId } = useParams();
const [order, setOrder] = useState<IOrder>();
const [statuses, setStatuses] = useState<any>();
const [err, setErr] = useState<boolean>(false);
const [page, setPage] = useState<number>(1);
const pageSize = 2;
const token = userStore((state: any) => state.user.token);
const getOrders = async () => {
try {
setErr(false);
const { data } = await axios.get<IOrder>(`http://localhost:5000/api/order/${orderId}`, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});
setOrder(data);
} catch {
setErr(true);
}
};

const getStatuses = async () => {
console.log(true);
try {
setErr(false);
const { data } = await axios.post<any>(`http://localhost:5000/api/order/customStatus/all`, {
page: page,
pageSize: pageSize
}, {
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});
setStatuses(data);
setPage(page + 1);
} catch {
setErr(true);
}
};
useEffect(() => {
getOrders();
getStatuses();
}, [orderId, token]);
const currentStatus = order?.statuses[order?.statuses.length - 1];
const [status, setStatus] = useState(currentStatus?.id ?? 1);
const changeStatus = (e: any) => {
setStatus(e.target.value);
};
// const hasMore = page < Math.round(pageSize / statuses?.rows?.count);
return (
<>
{
err ? <Popup/> : <OrderComponent orderId={orderId}>
<InputLabel id="demo-simple-select-label">Change Order status</InputLabel>
<InfiniteScroll
dataLength={statuses?.rows?.length ?? 0}
next={getStatuses}
hasMore={true}
loader={<h4>Loading...</h4>}
>
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
value={status}
label={'status'}
onChange={(e: any) => changeStatus(e)}
>

{statuses?.rows?.map((status: any) => (
<MenuItem key={status?.id} value={status?.id}>
{status?.name}
</MenuItem>
))}
</Select>
</InfiniteScroll>
</OrderComponent>
}
</>
);
};

export default Order;

2 ответов

18 просмотров

Ебать. Сегодня спать буду охуенно - давно простыни не было

От души брат

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта