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/#262 좋아요 기능 구현 #270

Merged
merged 63 commits into from
Aug 17, 2023
Merged

Feat/#262 좋아요 기능 구현 #270

merged 63 commits into from
Aug 17, 2023

Conversation

Creative-Lee
Copy link
Collaborator

@Creative-Lee Creative-Lee commented Aug 15, 2023

📝작업 내용

  • msw handler 및 mock 데이터 구현
    • 변경된 type 적용
  • 좋아요 관련 api 함수 생성
    • 이번에는 useMutaion 훅을 한 번 더 래핑하지 않고, 컴포넌트에서 사용했습니다.
  • fetch 유틸 type 변경
  • 디바운스 처리

💬리뷰 참고사항

이 커밋들만 봐주시면 됩니다!

현재 isLikes 상태 변경에 따라 Effect가 실행되는 구조인데요!
(좋아요 토글은 빠르게 보여주기 + 요청은 1회만 보내기 를 위해 디바운스를 적용)
때문에 초기 랜더시에 각 파트별로 좋아요 api 요청이 1회 기본적으로 발생합니다!
이 부분이 계속 신경쓰이는데, 오래 고민하다가 지금의 구조에서는 별다른 방법이 없다고 생각해서 제출합니다.
💬 이에 대한 의견이 궁금합니다! 좋은 방법이 있으시면 의견주세요!

effect 로직 수정 및 훅 분리 커밋입니다.

#️⃣연관된 이슈

close #262

1. 기존 nowPlayingTrack 상태에 사용된 rank는 변동 가능한 값이므로 part의 id로 변경
2. 이에 따른 props 변경
api 응답 type 그대로 받도록 수정
1. 테스트가 끝난 컴포넌트의 상태를 공유하기 위해 변경하였음.
2. 파일명 변경
1. 기존 isPlaying은 플레이어의 play와 혼동이 생길 가능성이 많았음.
개선을 통해 플레이중인 트랙이라는 의미를 강조함

2. 이에따라 props가 변경되었음
1. 플레이어 초기화 이후 ref에 할당하도록 개선
2. 관련 이벤트 핸들러 생성
1. 타이머, 플레이어 프로바이더의 함수에서 pause 관련 함수 제거
2. 트랙 컴포넌트의 타이머가 영상 상태와 동기화 되도록 수정
실행중인 파트 기준이 rank -> partId 로 변경됨에 따라 로직을 삭제함
@Creative-Lee Creative-Lee added [ 🌞 FE ] 프론트엔드 크루들의 빛나는 개발 이야기 하나둘셋 호! ✨ Feat 꼼꼼한 기능 구현 중요하죠 labels Aug 15, 2023
@Creative-Lee Creative-Lee self-assigned this Aug 15, 2023
@github-actions
Copy link

github-actions bot commented Aug 15, 2023

Unit Test Results

  69 files    69 suites   8s ⏱️
276 tests 276 ✔️ 0 💤 0
279 runs  279 ✔️ 0 💤 0

Results for commit 886b132.

♻️ This comment has been updated with latest results.

노래 한곡 재생이 끝나도 댓글 창이 유지되도록 수정
1. 구간 반복 기능이 노래의 재생과 타이머에 영향을 미치지 않도록 개선하였음.

개선 전
반복 기능 토글 시 파트의 처음으로 돌아감
타이머가 초기화됨

개선 후
반복 기능 토글 시 토글 기능만 on off 되고 파트의 처음으로 가지 않음.
타이머가 초기화 되지 않음.

기존 개별 Track컴포넌트에 적용했던 TimerProvider를 killingPartInterface 컴포넌트에 적용함.
@Creative-Lee Creative-Lee merged commit ea2c4d5 into main Aug 17, 2023
@Creative-Lee Creative-Lee deleted the feat/#262 branch August 17, 2023 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ 🌞 FE ] 프론트엔드 크루들의 빛나는 개발 이야기 하나둘셋 호! ✨ Feat 꼼꼼한 기능 구현 중요하죠
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FEAT] 좋아요 기능을 구현한다.
1 participant