feat: integration api expired initiate lockey
This commit is contained in:
parent
657ee9931c
commit
989b78175e
|
@ -12,13 +12,17 @@ import {useRouter} from "next/router";
|
|||
import BottomSheet from "../../../components/BottomSheet";
|
||||
import { botsRepository } from '../../../repository/bots';
|
||||
import { useStore } from '../../../components/StoreProvider';
|
||||
import { format } from 'date-fns';
|
||||
import Link from 'next/link';
|
||||
|
||||
const Payment = observer(() => {
|
||||
const [form] = Form.useForm();
|
||||
const router = useRouter();
|
||||
const store = useStore();
|
||||
const { qrCode } = router.query;
|
||||
const [orderId, setOrderId] = useState('');
|
||||
const [price, setPrice] = useState(0);
|
||||
const [checkInTime, setCheckInTime] = useState('');
|
||||
const [open, setOpen] = useState(false);
|
||||
const [openOrderOut, setOpenOrderOut] = useState(false);
|
||||
const [notOrder, setNotOrder] = useState(false);
|
||||
|
@ -33,10 +37,22 @@ const Payment = observer(() => {
|
|||
};
|
||||
|
||||
const { data: location } = botsRepository.hooks.useGetLocationByQR(qrCode)
|
||||
console.log(location, "he")
|
||||
|
||||
const expiredOrder = async () => {
|
||||
try {
|
||||
await botsRepository.api.updateStatusExpiredOrder(orderId)
|
||||
setIsNotComplete(true)
|
||||
setOpenOrderOut(true)
|
||||
} catch (err) {
|
||||
console.log("session epxired failed")
|
||||
setIsNotComplete(true)
|
||||
setOpenOrderOut(true)
|
||||
}
|
||||
}
|
||||
|
||||
const renderer = ({minutes, seconds, completed}) => {
|
||||
if (completed) {
|
||||
// router.push('/flash-screen');
|
||||
console.log("session complite")
|
||||
} else {
|
||||
return <span>{zeroPad(minutes)}:{zeroPad(seconds)}</span>;
|
||||
}
|
||||
|
@ -44,8 +60,13 @@ const Payment = observer(() => {
|
|||
|
||||
useEffect(() => {
|
||||
if (typeof window !== undefined) {
|
||||
let price = localStorage.getItem("price")
|
||||
let price = localStorage.getItem("price");
|
||||
let getCheckInTime = localStorage.getItem("checkInTime");
|
||||
let orderId = localStorage.getItem("idOrder")
|
||||
setOrderId(orderId);
|
||||
setPrice(price)
|
||||
const checkInTime = format(new Date(getCheckInTime), "mm")
|
||||
console.log(checkInTime, "time")
|
||||
}
|
||||
}, [])
|
||||
|
||||
|
@ -77,12 +98,9 @@ const Payment = observer(() => {
|
|||
) : (
|
||||
<div className="flex items-center justify-center bg-[#00AED6] h-10 text-base">
|
||||
<span className={'text-white'}>selesaikan pesananmu dalam <Countdown
|
||||
date={Date.now() + 300000}
|
||||
date={Date.now(checkInTime) + 300000}
|
||||
renderer={renderer}
|
||||
onComplete={() => {
|
||||
setIsNotComplete(true)
|
||||
setOpenOrderOut(true)
|
||||
}}/>
|
||||
onComplete={expiredOrder}/>
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
|
|
@ -6,6 +6,7 @@ const url = {
|
|||
findLocationByQrCode: (qrCode) => `/locations/findOne/${qrCode}`,
|
||||
createOrder: () => `/bots/create-order`,
|
||||
checkTransaction: (orderId) => `/bots/find/one-history/${orderId}`,
|
||||
expiredOrder: (id) => `/bots/expired-status/${id}`,
|
||||
}
|
||||
|
||||
const hooks = {
|
||||
|
@ -22,6 +23,14 @@ const api = {
|
|||
const res = await http.fetcher(url.checkTransaction(orderId));
|
||||
return res
|
||||
},
|
||||
|
||||
async createOrder(body) {
|
||||
return await http.post(url.createOrder(), body)
|
||||
},
|
||||
|
||||
updateStatusExpiredOrder(id) {
|
||||
return http.put(url.expiredOrder(id));
|
||||
}
|
||||
}
|
||||
|
||||
export const botsRepository = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user