File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,7 +3,11 @@ import { useQuery } from '@tanstack/react-query'
33import { OrderStatus } from './useGetOrdersDetail'
44
55const useGetOrderStatus = ( orderId ?: string ) => {
6- const { data : status , isSuccess } = useQuery ( {
6+ const {
7+ data : status ,
8+ isSuccess,
9+ refetch,
10+ } = useQuery ( {
711 queryKey : [ 'orderStatus' , orderId ] ,
812 queryFn : async ( ) => {
913 return await api . get < { status : OrderStatus } > ( `orders/${ orderId } /status` )
@@ -14,7 +18,7 @@ const useGetOrderStatus = (orderId?: string) => {
1418 } ,
1519 } )
1620
17- return { status, isSuccess }
21+ return { status, isSuccess, refetch }
1822}
1923
2024export default useGetOrderStatus
Original file line number Diff line number Diff line change 11import { api } from '@/lib/api'
22import { useMutation , useQueryClient } from '@tanstack/react-query'
33
4- const usePatchOrderCancel = ( ) => {
4+ const usePatchOrderCancel = ( refetchOrderStatus : ( ) => void ) => {
55 const queryClient = useQueryClient ( )
66
77 return useMutation ( {
88 mutationFn : ( orderId : string ) => api . patch ( `orders/${ orderId } /cancel` , { } ) ,
99 onSuccess : ( ) => {
1010 queryClient . invalidateQueries ( { queryKey : [ 'ordersDetail' ] } )
11+ refetchOrderStatus ( )
1112 } ,
1213 } )
1314}
Original file line number Diff line number Diff line change 11import { OrdersDetail } from '@/api/useGetOrdersDetail'
2- import usePatchOrderCancel from '@/api/usePatchOrderCancel'
32import Chip from '@/components/Chip'
43import Confirm from '@/components/Confirm'
54import Separator from '@/components/Separator'
@@ -8,10 +7,10 @@ import { v4 as uuidv4 } from 'uuid'
87
98interface OrderListProps {
109 ordersData : OrdersDetail
10+ patchOrderCancel : ( orderId : string ) => void
1111}
1212
13- const OrderList = ( { ordersData } : OrderListProps ) => {
14- const { mutate : patchOrderCancel } = usePatchOrderCancel ( )
13+ const OrderList = ( { ordersData, patchOrderCancel } : OrderListProps ) => {
1514 const { showModal } = modalStore ( )
1615
1716 const handleOrderCancel = ( ) => {
@@ -20,7 +19,9 @@ const OrderList = ({ ordersData }: OrderListProps) => {
2019 < Confirm
2120 title = "주문 취소"
2221 message = "주문을 취소하시겠습니까?"
23- onConfirmClick = { ( ) => patchOrderCancel ( ordersData . orderId ) }
22+ onConfirmClick = { ( ) => {
23+ patchOrderCancel ( ordersData . orderId )
24+ } }
2425 />
2526 ) ,
2627 } )
Original file line number Diff line number Diff line change 22
33import useGetOrdersDetail from '@/api/useGetOrdersDetail'
44import useGetOrderStatus from '@/api/useGetOrderStatus'
5+ import usePatchOrderCancel from '@/api/usePatchOrderCancel'
56import OrderList from '@/app/orders/detail/[id]/_components/OrderList'
67import FullpageLoader from '@/components/FullpageLoader'
78import Separator from '@/components/Separator'
@@ -17,7 +18,8 @@ const OrderDetailPage = () => {
1718 return path . split ( '/' ) . pop ( )
1819 } , [ path ] )
1920 const { ordersDetail, resetGetOrdersDetail } = useGetOrdersDetail ( orderId )
20- const { status } = useGetOrderStatus ( orderId )
21+ const { status, refetch : refetchOrderStatus } = useGetOrderStatus ( orderId )
22+ const { mutate : patchOrderCancel } = usePatchOrderCancel ( refetchOrderStatus )
2123
2224 useEffect ( ( ) => {
2325 if ( ! status ) return
@@ -36,7 +38,11 @@ const OrderDetailPage = () => {
3638 { status && < OrderStatus orderStatus = { status . status } /> }
3739 < Separator ignoreMobileSafe className = "h-[8px]" />
3840 </ div >
39- < div className = "pb-5" > { ordersDetail && < OrderList ordersData = { ordersDetail } /> } </ div >
41+ < div className = "pb-5" >
42+ { ordersDetail && (
43+ < OrderList ordersData = { ordersDetail } patchOrderCancel = { patchOrderCancel } />
44+ ) }
45+ </ div >
4046 </ div >
4147 )
4248}
You can’t perform that action at this time.
0 commit comments