Skip to content

인증 화면 찌르기 기능 & 상대가 남긴 나의 리액션 인터렉션 추가#113

Open
chanho0908 wants to merge 31 commits intodevelopfrom
feat/#112-task-certification-poke
Open

인증 화면 찌르기 기능 & 상대가 남긴 나의 리액션 인터렉션 추가#113
chanho0908 wants to merge 31 commits intodevelopfrom
feat/#112-task-certification-poke

Conversation

@chanho0908
Copy link
Member

@chanho0908 chanho0908 commented Feb 26, 2026

이슈 번호

#112

작업내용

  • 인증 화면 찌르기 기능 추가
  • 종료된 목표는 인증/찌르기 비활성화
  • 인증샷 목록 조회 -> 단일 조회 api로 수정
  • 상대가 남긴 리액션에 대한 나의 인증샷 인터렉션 추가
  • 리액션 리소스 파일 업데이트

결과물

찌르기 리액션 인터렉션

리뷰어에게 추가로 요구하는 사항 (선택)

리뷰 참고

리뷰 완료되지 않은 작업 내용이 필요해서 우선 110번 브랜치에서 작업한 내용을 받아서 작업한 관계로 110번 브랜치와 커밋이 섞여있어 !
이 PR들 먼저 리뷰하고 리뷰 하면 좋을 것 같아서 PR만 만들어놓고 Request는 두 개먼저 머지되고 요청할게 !

문제 상황 1

현재 ReactionEffect가 종료되었을 때 콜백으로 ViewModel에 MyReactionEffected를 전달해 상태를 업데이트해서
한 번만 리액션이 렌더링 되도록 구현했는데, ReactionEffect 콜백이 호출되기 전에 스와이프하면 상태가 업데이트 되지 않아
계속 ReactionEffect가 렌더링 되는 문제가 존재해

이를 위해 ReactionEffectSpec의 durationRange를 조정해서 사용자가 리액션을 인지하는 최소한의 시간동안 상태를 업데이트 하도록
조정했는데 이 방법도 화면에 진입하자마자 스와이프하면 동일한 문제가 발생해 😓

그래서 리액션을 발생 시키고 LaunchEffect를 통해 상태를 업데이트 하는 방법을 시도해봤는데 이건 아에 리액션 효과가 렌더링 되지 않더라구 ☠️

if (!uiState.hasShownMyReaction && uiState.isDisplayedMyPhotolog) {
            val model = uiState.myReaction
            if (model != null) {
                ReactionEffect(
                    targetReaction = model,
                    spec =
                        ReactionEffectSpec(
                            particleCount = 10,
                            durationRange = 500..800,
                            // 전체 화면 높이까지 퍼짐
                            travelDistanceRange = 500..screenHeightPx.toInt(),
                        ),
                    //onFinished = {
                        viewModel.dispatch(TaskCertificationDetailIntent.MyReactionEffected)
                    //},
                )
              LaunchEffect(Unit){
                  viewModel.dispatch(TaskCertificationDetailIntent.MyReactionEffected)
               }
            }
        }

계속 고민해보다 암만 생각해도 더 나은 방법을 모르겠어서 현수 의견도 들어보고 싶어가지구 우선 PR 올렸어 !!

또한 간헐적으로 리액션 효과 렌덩시 버벅임이 발생해서 이건 계속 해결 방법을 고민중인데 시간이 좀 걸릴 것 같아 🥲
요것두 좋은 생각이 있다면 공유해주면 좋을 것 같아 !

문제 상황 2

image

MyReactionBadge 컴포넌트에 최대한 디자인과 비슷하게 아이콘을 배치시켜 놨는데 배경과 아이콘이 분리되어있다 보니
디자인 요구사항을 100% 충족하는 상황은 아닌 것 같아

코드로 배치시키는건 한계가 있을거 같아서 따로 아이콘별로 디자이너들한태 요청할지 아니면 그대로 갈지 현수 의견이 궁금해 !

요청 사항

피그마에 아이콘 업데이트 돼서 기존에 사용하던 리액션 아이콘들을 교체했어 !
홈 화면용 따로 도운이가 만들어 놓은 것 같은데 한번 디자이너 칭구들한태 교체해야하는지 확인 부탁해 !
image

…tification-poke

# Conflicts:
#	feature/task-certification/src/main/java/com/twix/task_certification/detail/contract/TaskCertificationDetailUiState.kt
#	feature/task-certification/src/main/java/com/twix/task_certification/navigation/TaskCertificationGraph.kt
- `ic_photolog_action_poke.xml` 벡터 드로어블 리소스 추가
@chanho0908 chanho0908 self-assigned this Feb 26, 2026
@chanho0908 chanho0908 linked an issue Feb 26, 2026 that may be closed by this pull request
1 task
coderabbitai[bot]

This comment was marked as resolved.

@chanho0908 chanho0908 changed the base branch from develop to feat/#110-stats-detail-api February 26, 2026 11:08
@chanho0908 chanho0908 added the Feature Extra attention is needed label Feb 26, 2026
…cation-poke

# Conflicts:
#	feature/task-certification/src/main/java/com/twix/task_certification/detail/contract/TaskCertificationDetailUiState.kt
@YAPP-Github YAPP-Github deleted a comment from coderabbitai bot Feb 26, 2026
@YAPP-Github YAPP-Github deleted a comment from coderabbitai bot Feb 26, 2026
…cation-poke

# Conflicts:
#	feature/stats/detail/src/main/java/com/twix/stats/detail/StatsDetailViewModel.kt
@chanho0908
Copy link
Member Author

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@YAPP-Github YAPP-Github deleted a comment from coderabbitai bot Feb 26, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 27, 2026

📝 Walkthrough

Walkthrough

BackgroundCard 컴포저블 시그니처가 변경되어 isCertificated·buttonTitle가 제거되고 actionLabel, onClickAction, showActionButton이 추가되었습니다. 다수의 ic_keepi_* 벡터 드로어블이 삭제되고 ic_happy, ic_trouble, ic_love, ic_doubt, ic_fuck, ic_photolog_action_poke, ic_singing, ic_my_reaction_union 등 새 드로어블이 추가·수정되었습니다. 문자열 리소스 action_sting*action_poke*로 교체되었습니다. 내비게이션에 isCompleted 쿼리 인자가 추가되어 라우트와 관련 호출부 시그니처가 확장되었고, TaskCertification 영역에 Poke 관련 Intent/SideEffect/ViewModel/UI/Repository 연동, ReactionEffect 완료 콜백, MyReactionBadge 및 UiState 확장 등이 포함되었습니다.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목은 주요 변경사항인 '찌르기 기능'과 '리액션 인터렉션'을 명확하게 요약하고 있으며, 전체 변경사항의 핵심을 잘 반영하고 있습니다.
Description check ✅ Passed The PR description is well-structured and directly related to the changeset, explaining the poke feature addition, reaction interaction implementation, and related design updates.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#112-task-certification-poke

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@chanho0908 chanho0908 changed the base branch from feat/#110-stats-detail-api to develop February 27, 2026 02:56
@chanho0908 chanho0908 changed the title 인증 화면 찌르기 기능 추가 인증 화면 찌르기 기능 & 상대가 남긴 나의 리액션 인터렉션 추가 Feb 27, 2026
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@chanho0908 chanho0908 requested a review from dogmania February 27, 2026 03:56
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

인증샷 상세 화면 찌르기 기능 연동

1 participant