From 1dd1d6a84e0a5d6cac261a43032e4817c6db0c08 Mon Sep 17 00:00:00 2001 From: DewanaGustavus <76590469+DewanaGustavus@users.noreply.github.com> Date: Thu, 16 Nov 2023 23:54:52 +0700 Subject: [PATCH] feat: picked order page --- src/api/Order.ts | 11 ++++++ src/interfaces/UserInterface.ts | 1 + src/pages/PickedOrder.tsx | 59 ++++++++++----------------------- src/utils/Order.ts | 19 +++++++---- 4 files changed, 42 insertions(+), 48 deletions(-) diff --git a/src/api/Order.ts b/src/api/Order.ts index e40bedb..8d2b175 100644 --- a/src/api/Order.ts +++ b/src/api/Order.ts @@ -37,3 +37,14 @@ export async function fetchOrderDetails(orderId : number) { } } +export async function fetchOrderByCourier(courierId : number) { + try { + const API_URL = REST_URL + "/order/order-courier/" + courierId; + const response = await axios.get<OrderDetail[]>(API_URL); + return response; + } catch(err) { + alert(err); + throw err; + } +} + diff --git a/src/interfaces/UserInterface.ts b/src/interfaces/UserInterface.ts index f2a6986..4a1de14 100644 --- a/src/interfaces/UserInterface.ts +++ b/src/interfaces/UserInterface.ts @@ -1,5 +1,6 @@ export default interface UserInterface { + id : number username : string name : string email : string diff --git a/src/pages/PickedOrder.tsx b/src/pages/PickedOrder.tsx index f334a6a..076b25b 100644 --- a/src/pages/PickedOrder.tsx +++ b/src/pages/PickedOrder.tsx @@ -4,51 +4,28 @@ import { Stack, } from '@chakra-ui/react' import OrderInterface from '../interfaces/OrderInterface'; -import { useState } from 'react' +import { useEffect, useState } from 'react' import PickedOrderCard from '../components/PickedOrderCard'; +import { getOrderByCourier } from '../utils/Order'; +import { getUser } from '../utils/LocalStorage'; +import { getUserDetail } from '../utils/Profile'; -// TODO : fetch data from SOAP -const dummyData : OrderInterface[] = [ - { - alamat : "jl. imam bonjol no.69", - nama_penerima : "ukin", - biaya_pengiriman : 100, - keterangan : "dimas lagi main sama mas ukin" - }, - { - alamat : "bullet", - nama_penerima : "ishraul", - biaya_pengiriman : 1111, - keterangan : "aku butuh peluru" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - } -]; export default function PickedOrder() { - const [orders, setOrders] = useState<OrderInterface[]>(dummyData); + const username = getUser(); + const [orders, setOrders] = useState<OrderInterface[]>([]); + + useEffect(() => { + getUserDetail(username ? username : "").then( + (userDetail) => { + const response = getOrderByCourier(userDetail.data.id); + response.then((orders) => { + console.log(orders.data); + setOrders(orders.data); + }); + } + ); + }, []); return ( <Box diff --git a/src/utils/Order.ts b/src/utils/Order.ts index 63a48a6..d71de5c 100644 --- a/src/utils/Order.ts +++ b/src/utils/Order.ts @@ -1,16 +1,21 @@ -import { fetchAvailableOrder, fetchOrderById, fetchOrderDetails } from "../api/Order"; +import { fetchAvailableOrder, fetchOrderByCourier, fetchOrderById, fetchOrderDetails } from "../api/Order"; export async function getAvailableOrder() { - const userDetail = await fetchAvailableOrder(); - return userDetail; + const availableOrders = await fetchAvailableOrder(); + return availableOrders; } export async function getOrderById(orderId : number) { - const userDetail = await fetchOrderById(orderId); - return userDetail; + const order = await fetchOrderById(orderId); + return order; } export async function getOrderDetails(orderId : number) { - const userDetail = await fetchOrderDetails(orderId); - return userDetail; + const orderDetails = await fetchOrderDetails(orderId); + return orderDetails; +} + +export async function getOrderByCourier(courierId : number) { + const orders = await fetchOrderByCourier(courierId); + return orders; } \ No newline at end of file -- GitLab