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

[선물방 메인] 삭제 모달 공통 컴포넌트로 분리, 플로팅 버튼 기능 추가 #445

Merged
merged 3 commits into from
Feb 29, 2024

Conversation

urjimyu
Copy link
Contributor

@urjimyu urjimyu commented Feb 29, 2024

이슈 넘버

구현 사항

  • 등록 선물 개수에 따라 플로팅 버튼 유무 조정
  • 플로팅 버튼 유무에 따라 토스트 메시지 위치 수정

Need Review

플로팅 버튼 조건 추가

  • 내가 등록한 선물이 2개 미만일 때만 플로팅 버튼이 보여야 하고, 그에 맞는 토스트 메시지 위치 조정이 필요해 추가했습니다.
  • react-toastify를 조건에 따라 다른 커스텀 위치에 뜨도록 하고 싶은 분들은 해당 PR 참고하시면 좋을 것 같아요!
//toast.info 안에 className을 prop에 따라 지정해주었습니다.
 className: isBtn ? 'custom-toast-margin' : '',
// GlobalStyle에 해당 className에 해당하는 마진 값을 주었습니다.
.custom-toast-margin{
    margin-bottom: 6.4rem;
}

공통 DeleteModal 사용법

  • 모달을 여닫기 위한 setState를 넘겨주는 것으로 수정했습니다! (다른 방식 제안도 환영입니다)

  • 모달 컴포넌트

interface DeleteModalProps {
  children: React.ReactNode;
  onClickDelete: (giftId?: number) => void;
  setIsModalOpen: React.Dispatch<React.SetStateAction<boolean>>;
  clickedItem?: number | undefined;
}

// 중략
          <BtnMedium
            customStyle={{
              width: '12rem',
              outline: 'none',
              border: 'none',
              backgroundColor: 'white',
              color: 'black',
            }}
            onClick={() => (clickedItem ? onClickDelete(clickedItem) : onClickCancel())}
          >
            , 삭제할게요
          </BtnMedium>
  • 사용 예시
{isModalOpen && (
        <DeleteModal
          setIsModalOpen={setIsModalOpen}
          onClickDelete={handleClickConfirmDeleteBtn}
          clickedItem={clickedItem}
        >
          정말 상품을 삭제하시겠어요?
        </DeleteModal>
      )}

📸 스크린샷

Screen.Recording.2024-02-29.at.8.35.02.PM.mov

Reference

@urjimyu urjimyu added the refactor ⚙️ 개선 사항 label Feb 29, 2024
@urjimyu urjimyu requested a review from hoeun0723 February 29, 2024 05:11
@urjimyu urjimyu self-assigned this Feb 29, 2024
Copy link

github-actions bot commented Feb 29, 2024

PR Preview Action v1.4.6
🚀 Deployed preview to https://SWEET-DEVELOPERS.github.io/sweet-client/pr-preview/pr-445/
on branch gh-pages at 2024-02-29 05:36 UTC

Copy link
Contributor

@hoeun0723 hoeun0723 left a comment

Choose a reason for hiding this comment

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

확인했습니다!! 조건 활용과 옵서녈 처리를 하니 공통으로 사용할 수 있은 컴포넌트가 되었네요!! merge 해주시면 사용해보고, 문제 있으면 또 말씀 드리거나 직접 수정하겠습니다!! 감사합니다😊

@urjimyu urjimyu merged commit 4c992fb into develop Feb 29, 2024
1 check passed
@urjimyu urjimyu changed the title 공토 컴포넌트 공유를 위한 임시 PR입니다 [선물방 메인] 삭제 모달 공통 컴포넌트로 분리, 플로팅 버튼 기능 추가 Feb 29, 2024
Copy link
Member

@imeureka imeureka left a comment

Choose a reason for hiding this comment

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

확인했습니다! 고생하셨어요 :)

Comment on lines +47 to +50
const handleClickConfirmDeleteBtn = (giftId?: number) => {
if (giftId !== undefined) {
mutation.mutate(giftId);
}
Copy link
Member

Choose a reason for hiding this comment

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

if 문으로 mutation을 넣었군요! 저도 이렇게 모달을 열어보겠습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor ⚙️ 개선 사항
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants