Skip to content

[GMSS-357]보관함 상세에서 카드가 없는 달의 비우기 비활성화 및 빈 상태 문구 표시 - #80

Open
soyeonLee126 wants to merge 2 commits into
developfrom
fix/archive-clear-disabled-when-empty
Open

soyeonLee126 wants to merge 2 commits into
developfrom
fix/archive-clear-disabled-when-empty

Conversation

@soyeonLee126

Copy link
Copy Markdown
Collaborator

작업 개요

보관함 상세에서 보고 있는 달에 카드가 없어도 비우기를 누를 수 있었습니다. 확인 다이얼로그와 파쇄 화면을 지나 DELETE /api/cards/emotions/{emotion}까지 호출되는 문제를 수정했습니다. 카드가 없는 달에는 iOS와 같은 빈 상태 문구도 표시합니다.

작업 유형

  • feat: 새 기능
  • fix: 버그 수정
  • refactor: 리팩토링 (동작 변경 없음)
  • build: 빌드/의존성 설정
  • chore: 기타 (문서, 설정 등)
  • test: 테스트 추가/수정

변경 사항

  • 비우기 버튼은 보고 있는 달의 목록을 받았고 카드가 1장 이상일 때만 활성화합니다. 로딩 중, 조회 실패, 빈 목록일 때는 gray300으로 표시하고 눌러도 반응하지 않습니다.
    • 활성 여부는 별도 필드에 저장하지 않고 ArchiveDetailState.cards에서 계산합니다(isClearable).
    • showClearDialog()에서도 같은 조건을 확인해 다이얼로그를 띄우지 않습니다.
  • 카드가 없는 달에는 "아직 남겨둔 이야기가 없어요."를 body3Regular, gray500으로 표시합니다(iOS ArchiveDetailView와 같은 문구와 스타일).
    • 이 문구는 4ca95574에서 제거했었지만 iOS와 맞추기 위해 다시 표시합니다.
    • 조회 실패 문구는 기존 body4Medium을 유지해 빈 상태와 구분합니다.
  • ArchiveDetailViewModelTest에 빈 목록, 조회 실패, 다른 달을 받아 오는 중일 때 다이얼로그가 뜨지 않는지 확인하는 테스트를 추가했습니다.

관련 이슈

관련 작업 (Notion)

  • GMSS-357

스크린샷 / 동작 화면

2026-11-06, SM-S937N, debug 빌드에서 확인했습니다.

보고 있는 달 결과
분노 2026.11 (카드 없음) 빈 상태 문구가 보이고, 비우기는 회색이며 눌러도 다이얼로그가 뜨지 않습니다.
분노 2026.10 (카드 없음) 비우기는 회색이며 눌러도 다이얼로그가 뜨지 않습니다.
분노 2026.09 (카드 있음) 문구가 보이지 않고, 비우기를 누르면 "분노 기록 비우기" 다이얼로그가 뜹니다.

체크리스트

  • base 브랜치가 develop으로 설정되어 있다
  • 로컬 빌드 및 실행을 확인했다
  • 커밋 메시지가 컨벤션(feat:, fix: 등)을 따른다
  • 불필요한 로그/주석/디버그 코드를 제거했다
  • 리뷰어가 이해할 수 있도록 설명을 작성했다

리뷰 요청 사항

  • 비우기는 감정 칸의 모든 달 카드를 삭제하지만, 감정 칸 전체 카드 수를 조회하는 API가 없어 보고 있는 달을 기준으로 활성 여부를 정했습니다. 이번 달에는 카드가 없고 다른 달에만 있으면, 카드가 있는 달로 이동해야 비울 수 있습니다. iOS도 보고 있는 달의 목록(viewModel.notes)으로 판단합니다.
  • iOS는 카드가 없을 때 버튼을 그대로 두고 "비울 감정이 없어요" 모달을 띄우지만, Android는 버튼을 비활성화하는 방식으로 정했습니다.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant