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 ответов

15 просмотров

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

От души брат

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта