Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] 즉시 구매 api 연동 #123

Merged
merged 6 commits into from
Nov 20, 2024
Merged

[FEAT] 즉시 구매 api 연동 #123

merged 6 commits into from
Nov 20, 2024

Conversation

haejinyun
Copy link
Collaborator

What is this PR? 🔍

Changes 📝

  • 즉시구매 api 를 추가하였습니다.
  • 입찰하기 버튼 섹션에 가로로 즉시구매가가 있는 경매의 경우 즉시구매 버튼을 나타냈습니다.
  • canNotBid 관련 에러 문구에 concluded와 completed인 상태에 대한 로직을 추가하였습니다.

ScreenShot 📷

기간이 끝나지 않았지만 즉시구매로 경매가 완료 된 경우

스크린샷 2024-11-20 오전 1 35 50

NO_BIDS상태로 경매 기간이 끝난 경우

스크린샷 2024-11-20 오전 1 36 00

Precaution

해당 파트는 수요일 QA에 함께 들어가야할 파트여서 빠르게 구현하였습니다.
(이미 게시글 생성때 즉시 구매 요소가 들어있기 때문에 빠질 수 없는 기능이었습니다.. 말씀 드리기 머해서 걍 만들었습니다~!)

✔️ Please check if the PR fulfills these requirements

  • It's submitted to the correct branch, not the develop branch unconditionally?
  • If on a hotfix branch, ensure it targets main?
  • There are no warning message when you run npm run lint

@haejinyun haejinyun added ✨ Feature 기능 개발 🎨 UI 퍼블리싱 📬 API 서버 API 통신 labels Nov 19, 2024
@haejinyun haejinyun self-assigned this Nov 19, 2024
Copy link
Collaborator

@kimeodml kimeodml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다~ 추가적인 요청사항입니다!

  • 입찰 기록 모달에 userId 넣어주세요
  • 경매 업로드 페이지에서 즉시 구매가 버튼을 해제해도 에러 문구는 남아 있는데 clearErrors로 지워주세요!

@@ -127,7 +162,7 @@ function AuctionInfo(props: AuctionInfoProps) {
<hr className={S.division} />
<div className={S.infoRow}>
<span className={S.infoRowTitle}>남은 시간</span>
<AuctionCountdown endTime={endTime} setExpired={setExpired} />
<AuctionCountdown endTime={endTime} setExpired={setExpired} auctionStatus={auctionStatus} />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

즉시 구매가 가격도 현재가 밑에 보여주는 거 어떨까요?? 버튼을 눌러야지 보여지는게 접근성이 떨어지는 것 같아서요.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 좋아요 그러면 얘는 옵셔널 하게 있으면 요소 나오게 할게요!

@@ -205,7 +253,16 @@ function AuctionInfo(props: AuctionInfoProps) {
>
<AuctionBidConfirmModal bidPrice={bidInputRef?.current?.value} />
</ModalFooter>

{instantBuyPrice && (
<ModalFooter
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요거 Dialog.Close가 먹히질 않는 것 같아요.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

디테일 파트에서 진행할게요

Comment on lines +13 to +21
mutationFn: () => postBasicAuctionInstantBuy(id),
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['basicAuction', id] });
queryClient.invalidateQueries({ queryKey: ['basicAuctionList'] });
queryClient.invalidateQueries({ queryKey: ['basicAuctionBidList', id] });
queryClient.invalidateQueries({ queryKey: ['bidAuctionHistories'] });
// queryClient.invalidateQueries({ queryKey: ['nowPrice', params.id] });
showToast('success', '입찰에 성공했습니다.');
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

invalidateQueries...고생 하셨습니다!

export default function AuctionInstantBuyConfirmModal({
InstantBuyPrice,
}: AuctionInstantBuyConfirmModalProps) {
return <div>{`${InstantBuyPrice} 원에 입찰을 진행하시겠습니까?`}</div>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

가격 보이는 부분들에 .toLocaleString('ko-KR') 추가하는 거 어떨까요?

onError: (e: AxiosError<Response<string>>) => {
queryClient.invalidateQueries({ queryKey: ['nowPrice', id] });
if (e.response) {
showToast('error', `${e.response.data.result_msg}`);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요거 에러 문구 조금 바꿔볼까요?
입찰 가격이 즉시 구매 가격과 같거나 높습니다. bidPrice: 1205000, instantBuyPrice: 1199995

Copy link
Collaborator Author

@haejinyun haejinyun Nov 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단은 입찰 가격이 즉시 구매 가격과 같거나 높습니다.만 표현하게 바꾸었고
얘도 따로 디테일 쪽에서 처리할게요!
result_msg쪽에서
입찰 가격이 즉시 구매 가격과 같거나 높습니다. bidPrice: 1205000, instantBuyPrice: 1199995이렇게 오는데 문구를 슬라이싱 떠서 잘 보여주는 방식을 써봐야할까 싶네요..!
저런 에러 문구 로직은 잘 모아두면 좋을 것 같기도 합니더...

@haejinyun haejinyun merged commit 909a0a8 into develop Nov 20, 2024
2 checks passed
@haejinyun haejinyun deleted the feat/#122 branch November 20, 2024 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📬 API 서버 API 통신 ✨ Feature 기능 개발 🎨 UI 퍼블리싱
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEAT] 즉시구매 api 추가
2 participants