diff --git a/src/features/chat/api/room.ts b/src/features/chat/api/room.ts index 21dbfd4..ef1cf3e 100644 --- a/src/features/chat/api/room.ts +++ b/src/features/chat/api/room.ts @@ -4,12 +4,12 @@ import type { ChatProduct, ChatRole, SaleStatus, TradeStatus } from '../model/ty import type { ChatRoomDetailResponse, ProductStatus } from './dto'; // 채팅방 생성 또는 조회 (아이템 상세 페이지 채팅하기 버튼). -// 판매자가 받은 구매 제안 상세에서 열 땐 purchaseOfferId를 함께 보내 제안자↔소유자 방을 잡는다. export const createOrGetChatRoom = (itemId: number, purchaseOfferId?: number) => - api.post<{ chatRoomId: number }>('/chats', { - itemId, - ...(purchaseOfferId != null && { purchaseOfferId }), - }); + api.post<{ chatRoomId: number }>('/chats', { itemId, purchaseOfferId }); + +// 채팅방 생성 또는 조회 (거래 상세 페이지 채팅하기 버튼). +export const createOrGetChatRoomByTrade = (tradeId: number) => + api.post<{ chatRoomId: number }>(`/chats/trades/${tradeId}`); // 채팅방 상세 조회 (프로덕트 바 데이터) export const getChatRoom = (chatRoomId: number) => { diff --git a/src/pages/mypage/TradeDetailPage.tsx b/src/pages/mypage/TradeDetailPage.tsx index ba83116..44a761d 100644 --- a/src/pages/mypage/TradeDetailPage.tsx +++ b/src/pages/mypage/TradeDetailPage.tsx @@ -8,7 +8,7 @@ import { useTradeStatusChange } from '@/features/trade/api/useTradeStatusChange' import type { TradeStatus } from '@/features/trade/api/types'; import { buildTradeTimeline } from '@/features/trade/lib/buildTradeTimeline'; import { resolveImageUrl } from '@/shared/lib/resolveImageUrl'; -import { createOrGetChatRoom } from '@/features/chat/api/room'; +import { createOrGetChatRoomByTrade } from '@/features/chat/api/room'; const SectionTitle = ({ children }: { children: ReactNode }) => (

{children}

@@ -152,7 +152,7 @@ const TradeDetailPage = () => { if (isChatLoading) return; setIsChatLoading(true); try { - const { chatRoomId } = await createOrGetChatRoom(trade.itemId); + const { chatRoomId } = await createOrGetChatRoomByTrade(trade.tradeId); navigate(`/chat/${chatRoomId}`); } finally { setIsChatLoading(false);