Skip to content

내역 탭 다크모드 대응 아이콘 교체 #53

@kangddong

Description

@kangddong

📋 피처 개요

다크모드 검증 PLAN(3) docs/decision/supportDarkMode/testingDarkMode/Implementation.md 의 Phase D3 sweep 에서 발견된 미해결 카테고리 D "이미지 dark variant 없음" 의 후속 작업.

내역 탭(History) 에서 사용되는 아이콘들이 Resources/Assets.xcassets 의 imageset 에 Dark Appearance 가 등록되어 있지 않아, 다크모드 baseline 에서 라이트 모드와 동일하게 렌더되거나 시스템 자동 변환으로 깨진다.

🎯 목표

  • imageset 에 Dark Appearance pair 등록 → 다크모드에서 의도된 아이콘 색/대비 확보
  • 영향 받는 스냅샷 baseline 재기록(record/replay 2단) 으로 회귀 자동화 보강

📐 구현 범위

Dark variant 누락 imageset (PLAN(3) D 표 인용)

imageset 영향 화면
icon_judori TransactionRow (judori), PartnerDoriHistory judoriOnly
icon_baddori TransactionRow (baddori), PartnerDoriHistory baddoriOnly
iconCalendar datePicker (AddDori Page3, EditDori) — 본 이슈 범위 외 (캘린더 화면 별건 PR 로 분리 검토)

본 이슈는 내역 탭 한정icon_judori, icon_baddori 두 imageset 의 다크 페어 추가가 1차 범위. iconCalendar 는 datePicker 가 AddDori/EditDori 에서 쓰여서 별건.

UI/UX

  • 디자이너로부터 dark variant PNG 수령 (@1x/@2x/@3x)
  • xcassets imageset 에 Dark Appearance 등록
  • 다크모드 지원 시각 검증

아키텍처

  • 모듈 위치: Projects/Core/DoriDesignSystem/Resources/Assets.xcassets/ (현재 위치 확정 시)
  • ResourceSynthesizer 자동 생성 결과 변경 없음 확인 (imageset 이름 동일 유지)

테스트

  • 영향 baseline re-record 대상 식별:
    • TransactionRowSnapshotTests (judori, baddori) — light/dark 4장
    • PartnerDoriHistorySnapshotTests (judoriOnly, baddoriOnly) — light/dark 4장
  • Record 1회차 → Replay 2회차 → 회귀 시나리오 1건 (의도적 fail → 원복 → pass)
  • 시각 대조: 디자이너 PNG 와 신규 dark baseline 매치

🔗 의존성

  • Depends on: 다크모드 지원 #47 (다크모드 지원 — 상위 epic)
  • Related: PLAN(3) docs/decision/supportDarkMode/testingDarkMode/Implementation.md"Phase D3 fix 진행" 표 카테고리 D
  • Blocks: .preferredColorScheme(.light) 해제 PR (PLAN(3) 다크 sweep 완료 + 본 이슈 머지 후)

🎨 디자인 리소스

  • (디자이너로부터 dark variant PNG 수령 후 첨부)
  • Figma: (TBD)

✅ 완료 조건 (Definition of Done)

  • icon_judori, icon_baddori imageset 에 Dark Appearance 등록
  • 영향 baseline PNG re-record (record/replay/회귀 시나리오 3중 검증)
  • tuist generate 후 ResourceSynthesizer 출력 변화 없음 (이름 유지 확인)
  • CI Build App workflow build/test step green
  • PR description 에 "imageset dark variant 추가에 따른 의도된 baseline 갱신" 명시 + 회귀 시나리오 로그 첨부

📝 기술 고려사항

  • imageset Dark Appearance 추가는 Contents.jsonimages 배열에 appearances: [{ "appearance": "luminosity", "value": "dark" }] 항목 추가 + Dark 변종 PNG 파일 동봉. ResourceSynthesizer 출력에는 영향 없음.
  • 디자이너 PNG 의 색공간 확인 (sRGB 권장 — Brand colorset 정책과 일관).
  • 동일 imageset 에 light/dark 외 다른 trait(예: HC) 추가는 본 이슈 범위 외.

🐛 알려진 이슈

  • 디자이너 PNG 수령 전까지 작업 시작 불가 — Phase A 게이트.
  • judori/baddori 외 내역 탭 내 다른 아이콘(예: 메뉴, 정렬, 검색) 의 dark 누락 여부는 sweep 1회 별도 점검 권장.

📚 참고 자료

  • docs/decision/supportDarkMode/testingDarkMode/Implementation.md — Phase D3 sweep 결과 & fix 진행 표
  • docs/decision/supportDarkMode/validateDarkMode/PLAN.md — colorset/asset lint 정책
  • docs/frontend/test-strategy.md — light/dark 페어 스냅샷 규칙

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions