From 72ae5e4fc8aba550fab2feaa63f667f312007cc6 Mon Sep 17 00:00:00 2001 From: Suhyeon Jeon Date: Sun, 2 Mar 2025 21:07:57 +0900 Subject: [PATCH] fix: qa --- src/api/useGetOrderStatus.ts | 8 ++++++-- src/api/usePatchOrderCancel.ts | 3 ++- src/app/orders/detail/[id]/_components/OrderList.tsx | 9 +++++---- src/app/orders/detail/[id]/page.tsx | 10 ++++++++-- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/api/useGetOrderStatus.ts b/src/api/useGetOrderStatus.ts index 1f0aac6..6f8c171 100644 --- a/src/api/useGetOrderStatus.ts +++ b/src/api/useGetOrderStatus.ts @@ -3,7 +3,11 @@ import { useQuery } from '@tanstack/react-query' import { OrderStatus } from './useGetOrdersDetail' const useGetOrderStatus = (orderId?: string) => { - const { data: status, isSuccess } = useQuery({ + const { + data: status, + isSuccess, + refetch, + } = useQuery({ queryKey: ['orderStatus', orderId], queryFn: async () => { return await api.get<{ status: OrderStatus }>(`orders/${orderId}/status`) @@ -14,7 +18,7 @@ const useGetOrderStatus = (orderId?: string) => { }, }) - return { status, isSuccess } + return { status, isSuccess, refetch } } export default useGetOrderStatus diff --git a/src/api/usePatchOrderCancel.ts b/src/api/usePatchOrderCancel.ts index 2dd6cd5..89593a3 100644 --- a/src/api/usePatchOrderCancel.ts +++ b/src/api/usePatchOrderCancel.ts @@ -1,13 +1,14 @@ import { api } from '@/lib/api' import { useMutation, useQueryClient } from '@tanstack/react-query' -const usePatchOrderCancel = () => { +const usePatchOrderCancel = (refetchOrderStatus: () => void) => { const queryClient = useQueryClient() return useMutation({ mutationFn: (orderId: string) => api.patch(`orders/${orderId}/cancel`, {}), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['ordersDetail'] }) + refetchOrderStatus() }, }) } diff --git a/src/app/orders/detail/[id]/_components/OrderList.tsx b/src/app/orders/detail/[id]/_components/OrderList.tsx index 35f09c9..05c5a82 100644 --- a/src/app/orders/detail/[id]/_components/OrderList.tsx +++ b/src/app/orders/detail/[id]/_components/OrderList.tsx @@ -1,5 +1,4 @@ import { OrdersDetail } from '@/api/useGetOrdersDetail' -import usePatchOrderCancel from '@/api/usePatchOrderCancel' import Chip from '@/components/Chip' import Confirm from '@/components/Confirm' import Separator from '@/components/Separator' @@ -8,10 +7,10 @@ import { v4 as uuidv4 } from 'uuid' interface OrderListProps { ordersData: OrdersDetail + patchOrderCancel: (orderId: string) => void } -const OrderList = ({ ordersData }: OrderListProps) => { - const { mutate: patchOrderCancel } = usePatchOrderCancel() +const OrderList = ({ ordersData, patchOrderCancel }: OrderListProps) => { const { showModal } = modalStore() const handleOrderCancel = () => { @@ -20,7 +19,9 @@ const OrderList = ({ ordersData }: OrderListProps) => { patchOrderCancel(ordersData.orderId)} + onConfirmClick={() => { + patchOrderCancel(ordersData.orderId) + }} /> ), }) diff --git a/src/app/orders/detail/[id]/page.tsx b/src/app/orders/detail/[id]/page.tsx index 8c3bcc4..3d43581 100644 --- a/src/app/orders/detail/[id]/page.tsx +++ b/src/app/orders/detail/[id]/page.tsx @@ -2,6 +2,7 @@ import useGetOrdersDetail from '@/api/useGetOrdersDetail' import useGetOrderStatus from '@/api/useGetOrderStatus' +import usePatchOrderCancel from '@/api/usePatchOrderCancel' import OrderList from '@/app/orders/detail/[id]/_components/OrderList' import FullpageLoader from '@/components/FullpageLoader' import Separator from '@/components/Separator' @@ -17,7 +18,8 @@ const OrderDetailPage = () => { return path.split('/').pop() }, [path]) const { ordersDetail, resetGetOrdersDetail } = useGetOrdersDetail(orderId) - const { status } = useGetOrderStatus(orderId) + const { status, refetch: refetchOrderStatus } = useGetOrderStatus(orderId) + const { mutate: patchOrderCancel } = usePatchOrderCancel(refetchOrderStatus) useEffect(() => { if (!status) return @@ -36,7 +38,11 @@ const OrderDetailPage = () => { {status && } -
{ordersDetail && }
+
+ {ordersDetail && ( + + )} +
) }