Skip to content

Commit fa754af

Browse files
authored
Merge pull request #205 from DevKor-github/fix/pick-detail
ν•” λ””ν…ŒμΌ νŽ˜μ΄μ§€ μ’€ λ³€κ²½
2 parents 8213eae + bf7f51b commit fa754af

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

β€Žsrc/features/pick/apis/useGetPickDetail.tsβ€Ž

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import client from '@/common/utils/client';
22
import { QUERY_KEYS } from '@/libs/queryKeys';
3-
import type { ProductType, TradeMethods, TransactionType } from '@/libs/types/item';
3+
import type { Color, ProductType, Quality, Size, TradeMethods, TransactionType } from '@/libs/types/item';
44
import type { PickStatus } from '@/libs/types/pick';
55
import { useQuery } from '@tanstack/react-query';
66

@@ -9,12 +9,16 @@ interface GetPickDetailResponse {
99
data: {
1010
appointmentId: number;
1111
itemId: number;
12+
chatRoomId: number;
1213
requesterId: number;
1314
ownerId: number;
1415
imageUrl: string;
1516
title: string;
1617
description: string;
1718
productTypes: ProductType[];
19+
quality: Quality;
20+
size: Size;
21+
color: Color;
1822
rentalDate: string;
1923
returnDate: string | null;
2024
rentalLocation: string;
@@ -25,6 +29,8 @@ interface GetPickDetailResponse {
2529
type: TransactionType;
2630
tradeMethod: TradeMethods;
2731
isCreator: boolean;
32+
opponentNickname: string;
33+
isReviewed: boolean;
2834
};
2935
}
3036

β€Žsrc/features/pick/apis/usePatchCancelPick.tsβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const usePatchCancelPick = () => {
1212
mutationFn: patchCancelPick,
1313
onSuccess: () => {
1414
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.PICK_DETAIL] });
15+
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.ITEM_STATUS] });
1516
},
1617
});
1718
};

β€Žsrc/features/pick/apis/usePatchConfirmPick.tsβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const usePatchConfirmPick = () => {
1313
mutationFn: patchConfirmPick,
1414
onSuccess: () => {
1515
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.PICK_DETAIL] });
16+
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.ITEM_STATUS] });
1617
},
1718
});
1819
};

β€Žsrc/features/pick/components/DetailBottom/index.tsxβ€Ž

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as s from './style.css';
33
import { usePatchConfirmPick } from '@/features/pick/apis/usePatchConfirmPick';
44
import type { PickStatus } from '@/libs/types/pick';
55
import { useNavigate } from 'react-router';
6+
import { useToast } from '@/common/hooks/useToast';
67

78
const PICK_EXPIRED_MESSAGE: Record<Exclude<PickStatus, 'PENDING' | 'CONFIRMED'>, string> = {
89
CANCELLED: 'μ·¨μ†Œλœ PICKμ΄μ—μš”',
@@ -16,24 +17,29 @@ interface Props {
1617
itemId: number;
1718
isCreator: boolean;
1819
pickState: PickStatus;
20+
chatRoomId: number;
1921
}
20-
const DetailBottom = ({ id, itemId, isCreator, pickState }: Props) => {
22+
const DetailBottom = ({ id, itemId, isCreator, pickState, chatRoomId }: Props) => {
2123
const navigate = useNavigate();
2224
const { mutate: cancel } = usePatchCancelPick();
2325
const { mutate: confirm } = usePatchConfirmPick();
26+
const { openToast } = useToast();
2427

2528
const cancelPick = () => {
2629
cancel(id, {
2730
onSuccess: () => {
28-
navigate(`/detail/${itemId}`);
31+
navigate(`/detail/${itemId}`, { replace: true });
32+
openToast({ message: 'PICK이 μ·¨μ†Œλ˜μ—ˆμ–΄μš”' });
2933
},
3034
});
3135
};
36+
3237
const confirmPick = () => {
3338
confirm(id, {
3439
onSuccess: () => {
3540
// TODO: μ±„νŒ…λ°© 이동
36-
navigate(`/chat`);
41+
navigate(`/chatroom/${chatRoomId}`, { replace: true });
42+
openToast({ message: 'PICK이 ν™•μ •λ˜μ—ˆμ–΄μš”' });
3743
},
3844
});
3945
};

β€Žsrc/pages/PickDetailPage/index.tsxβ€Ž

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const PickDetailPage = () => {
5454
<div className={s.InfoText}>
5555
{data.isCreator
5656
? `λ‚΄κ°€ μš”μ²­ν•œ ${isSale ? '판맀' : 'λŒ€μ—¬'} μ •λ³΄μ˜ˆμš” πŸ”₯`
57-
: `${data.requesterId} λ‹˜κ»˜μ„œ μš”μ²­ν•˜μ‹  ${isSale ? '판맀' : 'λŒ€μ—¬'} μ •λ³΄μ˜ˆμš” πŸ”₯`}
57+
: `${data.opponentNickname}λ‹˜κ»˜μ„œ μš”μ²­ν•˜μ‹  ${isSale ? '판맀' : 'λŒ€μ—¬'} μ •λ³΄μ˜ˆμš” πŸ”₯`}
5858
</div>
5959
<div className={s.Contents}>
6060
<div className={s.PickInfo}>
@@ -111,7 +111,13 @@ const PickDetailPage = () => {
111111
)}
112112
</div>
113113
</div>
114-
<DetailBottom id={id} itemId={data.itemId} isCreator={data.isCreator} pickState={data.state} />
114+
<DetailBottom
115+
id={id}
116+
itemId={data.itemId}
117+
isCreator={data.isCreator}
118+
pickState={data.state}
119+
chatRoomId={data.chatRoomId}
120+
/>
115121
</div>
116122
</SafeArea>
117123
);

0 commit comments

Comments
Β (0)