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