Skip to content

✨ feat: LikeButton — Supabase 연동 + Optimistic UI + 중복 클릭 방지 #21

@swallowedB

Description

@swallowedB

기능 설명

LikeButton에 Supabase 연동을 추가하여 실데이터 기반 좋아요 상태를 처리한다.

요구사항:

  1. Supabase likes 테이블 업데이트
  2. optimistic UI (UI 먼저 변경 → 서버 응답 실패 시 롤백)
  3. 요청 처리 중에는 버튼 재클릭 불가 (중복 클릭 방지)
  4. 초기 렌더 시 DB 기반 liked 상태 불러오기(optional)
  5. liked=true일 때는 count -1 요청, false일 때 +1 요청

테스트 포인트

  • 클릭 시 즉시 UI 변경 (optimistic)
  • Supabase mock: insert/update/remove 호출 확인
  • 요청 중 다시 클릭하면 동작하지 않아야 함
  • Supabase 응답 실패 시 UI가 원래 상태로 복귀
  • 성공 시 최종 상태가 서버 값과 일치하는지 확인
  • 성공/실패 처리 후 버튼 재활성화 테스트

완료 체크리스트

  • 실패 테스트 작성(Red)
  • 최소 구현(Green)
  • 리팩터(Refactor)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions