Skip to content

feat: 내역 탭 judori/baddori 아이콘 다크모드 대응 (#53)#59

Merged
kangddong merged 4 commits into
developfrom
feat/53-history-dark-mode-icons
Jun 29, 2026
Merged

feat: 내역 탭 judori/baddori 아이콘 다크모드 대응 (#53)#59
kangddong merged 4 commits into
developfrom
feat/53-history-dark-mode-icons

Conversation

@kangddong

Copy link
Copy Markdown
Collaborator

요약

내역 탭의 judori/baddori 아이콘 다크모드 대응. 디자이너가 색 있는 circle + path → path-only 템플릿 으로 에셋을 교체함에 따라, imageset 에 Dark PNG 페어를 추가하던 기존 접근 대신 사용처에서 semantic 토큰으로 색을 주입(다크 자동 적응)하는 방식으로 전환.

변경

  • 디자이너 path-only 템플릿 에셋 14종 반영 (SVG → PNG)
  • DoriCircleIcon 신설 (DoriDesignSystem/Sources/Components): 원형 배경 배지 + .renderingMode(.template) 틴팅
    foreground background
    judori .onBrand (흰/검) .brandMain (네이비/블루)
    baddori .textSecondary .borderDefault
  • TransactionRowView, DayDetailSheetDoriCircleIcon 적용 (History + Calendar 공유 에셋이라 동반 수정)
  • DoriBarGraphView 사람 아이콘은 원형 없이 막대 위 템플릿 틴팅

스냅샷 (의도된 baseline 갱신)

imageset 템플릿화 + 색 주입에 따라 아이콘을 렌더하는 baseline 18장을 재기록.

  • record 1회차(자동 기록) → replay 2회차 20/20 PASS
  • 회귀 시나리오 1건: DoriCircleIcon diameter 34→40 → mismatch 검출 → 원복 → PASS
  • light/dark 신규 baseline ↔ 디자이너 레퍼런스 시각 대조 일치

비고

  • tuist generate 후 ResourceSynthesizer 출력 불변 (imageset 이름 유지)
  • DoriListSnapshotTests test_doriList_empty (light/dark) 는 아이콘/바그래프 미렌더로 본 변경과 무관 → 재기록 제외 (기존 시뮬레이터 픽셀 drift 추정, 별도 확인 필요)
  • DayDetailSheet 스냅샷은 empty 케이스만 존재해 populated sheet 아이콘은 미커버 (기존 갭, 후속)

Closes #53

kangddong and others added 4 commits June 29, 2026 18:47
- 디자이너 path-only 템플릿 에셋(judori/baddori 14종) 반영, SVG→PNG 교체
- DoriCircleIcon 신설: 원형 배경 배지 + 템플릿 틴팅, 색은 semantic 토큰 경유(다크 자동 적응)
  - judori: foreground .onBrand / background .brandMain
  - baddori: foreground .textSecondary / background .borderDefault
- TransactionRowView, DayDetailSheet 를 DoriCircleIcon 으로 교체
- DoriBarGraphView 사람 아이콘은 원형 없이 .renderingMode(.template) 로 틴팅(막대 위)
- 영향 스냅샷 18장 baseline 재기록(record/replay + 회귀 시나리오 검증)

ResourceSynthesizer 출력 불변(imageset 이름 유지). Closes #53

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…NO + dep pin)

#57 과 동일한 CI 인프라 픽스 (Apple 로그인 기능 코드는 제외):
- build.yml: xcodebuild build/test 에 SWIFT_ENABLE_EXPLICIT_MODULES=NO, clean 제거
- Package.swift: TCA 전이 의존성(Dependencies/CombineSchedulers/Clocks/CasePaths/
  SwiftNavigation/ConcurrencyExtras) productTypes .framework, baseSettings explicit modules off,
  swift-navigation 2.8.x / swift-case-paths 1.7.3 핀

CasePathsMacrosSupport-Swift.h not found (Xcode 26.3 macro host build) 해결.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ift.h race

#57 과 동일한 Package.swift/의존성 핀(clocks 1.1.0 등)으로도 병렬 타겟 빌드에서
swift-dependencies 가 Clocks 프레임워크의 -Swift.h 생성 전에 모듈을 import 하며
간헐 실패. 타겟을 순차 빌드해 프레임워크 헤더 생성 순서를 보장한다.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
이전 커밋의 -parallelizeTargets NO 는 xcodebuild 가 'NO' 를 build action 으로
오인해 'Unknown build action' 에러. 유효한 -jobs 1 로 동시 빌드 작업을 1개로 제한해
Clocks 등 프레임워크의 -Swift.h 가 의존 모듈 빌드 전에 생성되도록 보장한다.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kangddong kangddong merged commit 38dd7b1 into develop Jun 29, 2026
1 check passed
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