서버에서 API 수정되면 동작하도록 구현해두었습니다.
기존 이모지버튼에 사용되는 아이콘을 sfsymbol로 변경되어서 에셋은 삭제하고, 코드로 구현하였습니다.
📄 리뷰 노트
브랜치 변경해서 보셔도 동작하는 것이 없을 겁니다..
조회 API > {challengeId}를 url에 추가하면 잘 받아오는데 이는 삭제될거라하셔서 지우고 커밋해두었습니다.
등록 API > 등록은 잘 되는데, 응답값이 스웨거 예시에는 있는데 실제 서버 응답은 없어서 수정 요청해두었습니다. 해당 예시값으로 디코딩하도록 구현해두었습니다.
삭제 API > 삭제에 EmojiId가 필요한데 현재 받아올 수 있는 API가 없어, 서버 업데이트되면 다시 확인해야할 듯 합니다.
전체 흐름은 다음과 같습니다.
2-1) 현재 보고 있는 도전내역의 인덱스가 변경(스크롤하는 경우)되면 이모지 조회 요청
조회 성공하면 해당 결과값을 emoji변수에 저장, 실패하면 nil로 저장
emoji 변수가 nil이 아닐 때 서버에 이모지 상태 변경 가능하도록 하기 위함
2-2) 사용자가 버튼 클릭시 이전의 상태가 false면 이모지 등록 API 요청, true면 이모지 삭제 API 요청
스크롤을 계속하는 경우, 빠르게 버튼을 클릭하는 경우 등 추후에 Debounce, Throttle를 적용해보면 좋을 것 같습니다 !!
close #50
✏️ 개요
이모지 조회, 등록, 삭제가 가능하도록 API를 연결했습니다.
💻 작업 사항
서버에서 API 수정되면 동작하도록 구현해두었습니다. 기존 이모지버튼에 사용되는 아이콘을 sfsymbol로 변경되어서 에셋은 삭제하고, 코드로 구현하였습니다.
📄 리뷰 노트
브랜치 변경해서 보셔도 동작하는 것이 없을 겁니다.. 조회 API > {challengeId}를 url에 추가하면 잘 받아오는데 이는 삭제될거라하셔서 지우고 커밋해두었습니다. 등록 API > 등록은 잘 되는데, 응답값이 스웨거 예시에는 있는데 실제 서버 응답은 없어서 수정 요청해두었습니다. 해당 예시값으로 디코딩하도록 구현해두었습니다. 삭제 API > 삭제에 EmojiId가 필요한데 현재 받아올 수 있는 API가 없어, 서버 업데이트되면 다시 확인해야할 듯 합니다.
전체 흐름은 다음과 같습니다.
스크롤을 계속하는 경우, 빠르게 버튼을 클릭하는 경우 등 추후에 Debounce, Throttle를 적용해보면 좋을 것 같습니다 !!
📱결과 화면(optional)
버튼이 활성화된 상태일 때 디자인이 되어있지 않아서 임의로 투명도로 조절해두었습니다.