Skip to content

[GMSS-212] 보관함 목록 화면 추가 - #51

Merged
seunghee17 merged 5 commits into
developfrom
feature/archive-list
Aug 18, 2026
Merged

[GMSS-212] 보관함 목록 화면 추가#51
seunghee17 merged 5 commits into
developfrom
feature/archive-list

Conversation

@soyeonLee126

@soyeonLee126 soyeonLee126 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

작업 개요

보관함 탭의 목록 화면을 추가했습니다. 감정 6종 쓰레기통을 2열 그리드로 보여주는 데까지가 이 PR의 범위입니다.

보관함 작업 전체가 한 PR에 들어가면 69개 파일이 되어 리뷰가 어렵습니다. 세 단계로 나눈 두 번째 PR입니다.

#49  카드 월별 조회 API (데이터 레이어)   16개 파일  +209
이 PR 보관함 목록 화면                    47개 파일  +393 / -1130
#43  보관함 상세, 물리 낙하 애니메이션    15개 파일  +1617

base가 feature/card-month-query입니다. #49가 먼저 머지되어야 합니다.

작업 유형

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

변경 사항

보관함 목록

  • 감정 6종 쓰레기통을 2열 그리드로 배치했습니다.
  • 402pt 시안 좌표를 화면 폭에 비례 환산하는 DesignScale을 추가했습니다. 기기 폭이 달라도 시안 비율을 지킵니다.
  • 카드 두 장과 간격을 합치면 가용 폭보다 2dp 모자랍니다. 시안도 그렇게 되어 있어 여분을 좌우로 나눠 그리드가 실제로 가운데 오게 했습니다.

하단 탭

  • 보관함, 홈, 대화 3개로 맞추고 보관함을 첫 탭으로 두었습니다.
  • 원격설정으로 보관함 탭을 가리던 경로를 제거했습니다.

모듈 정리

  • 옛 캘린더 화면과 컴포넌트를 제거했습니다. 삭제가 1130줄인 이유입니다.
  • feature/calendar 디렉터리를 feature/archive로 옮기고 settings.gradle.ktsprojectDir 오버라이드를 제거했습니다. 26개 파일이 내용 변경 없는 이동입니다.
  • 어느 모듈도 참조하지 않는 kizitonwose calendar 의존성을 버전 카탈로그에서 뺐습니다.

디자인 시스템

  • GamssIconsClose를 추가하고 ic_close_line.xml, bg_input_box.xml 드로어블을 넣었습니다. 두 에셋은 #43의 월 선택 시트에서 씁니다.
  • GamssTopBar에 상태바 회피 책임이 어디 있는지 KDoc으로 적었습니다. 컴포넌트 자체는 develop에 이미 있습니다.
  • 상태바 회피 처리를 MainScreenNavDisplay 한 곳으로 모았습니다. 화면마다 따로 처리하면 상단바가 상태바와 겹칩니다.

관련 이슈

  • 없음

관련 작업 (Notion)

스크린샷 / 동작 화면

기능 자체는 상세 PR과 함께 실기기에서 확인했습니다. 이 PR 단독 상태의 화면은 따로 캡처하지 않았습니다.

체크리스트

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

base는 develop이 아니라 feature/card-month-query입니다. 스택 PR 구조라 의도한 것입니다.
./gradlew detekt lint test는 통과했습니다. 이 PR 단독 상태로 앱을 띄워 확인하지는 않았습니다.

리뷰 요청 사항

두 가지를 봐주시면 좋겠습니다.

  1. 쓰레기통을 눌러도 아무 일이 없습니다. 클릭과 상세 진입은 #43에서 붙입니다. 그래서 이 PR에서는 contentDescription도 "열기" 대신 감정 이름만 읽도록 두었습니다. 목록만 먼저 머지되는 상태를 허용할지 봐주시면 좋겠습니다.

  2. 상단바 컴포넌트가 둘로 갈려 있습니다. 이 PR이 GamssTopBar 호출처를 1곳(홈)에서 3곳(홈, 보관함 목록, 보관함 상세)으로 늘립니다. 한편 GamssTopNavigation은 설정, 계정정보, 닉네임변경, 카드삭제, 웹뷰, 온보딩, 대화목록 7개 화면이 씁니다.

    GamssTopBar GamssTopNavigation
    높이 62dp 64dp + 상단 6dp
    구조 leading/trailing 슬롯 고정 좌·중앙·우 슬롯
    우측 아이콘 임의 컴포저블 닫힌 enum
    아이콘 터치 영역 호출자 지정 24dp

    GamssTopNavigation에 trailing 슬롯이 없어서 ChattingListTopBaroffset(x = -42.dp, y = 3.dp)로 아이콘을 겹쳐 넣고 있고, 이 PR의 ArchiveDetailScreen도 텍스트 액션을 직접 만들었습니다. 어느 쪽을 정본으로 삼을지 정해주시면 좋겠습니다. 높이와 패딩이 달라 실제 통합은 10개 화면 디자인 확인이 필요해 보여서, 이 PR에서는 분기를 더 키우지 않는 선까지만 했습니다.

- 감정 6종 쓰레기통을 2열 그리드로 배치. 402pt 시안 기준 좌표를 화면 폭에 비례
  환산하는 DesignScale 을 두었다.
- 하단 탭을 보관함, 홈, 대화 3개로 맞추고 보관함을 첫 탭으로 두었다.
- 옛 캘린더 화면과 컴포넌트를 제거하고 feature/calendar 디렉터리를 feature/archive 로
  옮겼다. 버전 카탈로그의 kizitonwose calendar 의존성도 함께 뺐다.
- GamssTopBar, GamssLogo, GamssIconButton 을 디자인 시스템에 추가했다.

쓰레기통을 눌러 들어가는 상세 화면은 후속 PR로 분리한다.
# Conflicts:
#	domain/src/test/kotlin/com/gamss/android/domain/card/CreateCardUseCaseTest.kt
#	domain/src/test/kotlin/com/gamss/android/domain/conversation/ConversationSessionTest.kt
Base automatically changed from feature/card-month-query to develop August 18, 2026 11:07
MainViewModel, GamssRootNavHost 에서 develop 의 FCM/알림 권한 흐름과 이 브랜치의
보관함 탭 원격설정 게이트 제거를 함께 살렸다. useCardFeature 는 제거된 채로 두고
syncDeviceToken/알림 권한 요청 경로만 가져왔다. 생성자 인자가 5개로 줄어 develop 에
있던 @Suppress("LongParameterList") 는 뺐다.
버전 카탈로그에서 develop 이 새로 넣은 lottie 는 살리고, 이 브랜치가 캘린더 화면과 함께
빼둔 kizitonwose calendar 는 그대로 뺀 상태로 뒀다. 머지 후 트리에 calendar-compose 를
쓰는 곳이 없다.

@seunghee17 seunghee17 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다

@seunghee17
seunghee17 merged commit 0f78876 into develop Aug 18, 2026
6 checks passed
@seunghee17
seunghee17 deleted the feature/archive-list branch August 18, 2026 15:00
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.

2 participants