fix(profile): 채널 후원 비밀 문구를 분리하고 자기 프로필 후원 버튼을 숨긴다

This commit is contained in:
Yu Sung
2026-02-26 00:44:37 +09:00
parent b84b996059
commit db68aa90d2
6 changed files with 165 additions and 18 deletions

View File

@@ -0,0 +1,58 @@
# 20260225 후원 비밀 문구 국제화 수정
## 구현 체크리스트
- [x] 채널 후원/라이브 룸 후원 비밀 문구 분기 위치 확인
- [x] `I18n`에 채널 후원용 `비밀후원` 문구 추가
- [x] 공용 후원 다이얼로그(`LiveRoomDonationDialogView`)에 컨텍스트별 비밀 문구 주입 파라미터 추가
- [x] 채널 후원 진입점(`UserProfileView`)에서 `비밀후원` 문구 전달
- [x] 진단/빌드/테스트 검증 수행 및 결과 기록
## 검증 기록
- 무엇: 수정 파일 3개(`I18n.swift`, `LiveRoomDonationDialogView.swift`, `UserProfileView.swift`)에 대해 `lsp_diagnostics` 오류 확인
왜: 변경 직후 타입/문법 수준 오류를 선검증하기 위함
어떻게: `lsp_diagnostics` 실행
결과: SourceKit 환경 의존 오류 확인 (`No such module 'Kingfisher'`, `Cannot find 'LanguageHeaderProvider' in scope`), 이후 실제 `xcodebuild` 빌드는 성공
- 무엇: 기본 스킴 빌드 검증
왜: 후원 다이얼로그/국제화 문자열 변경이 앱 컴파일에 문제 없는지 확인하기 위함
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build`
결과: `** BUILD SUCCEEDED **`
- 무엇: dev 스킴 빌드 검증
왜: 동일 변경이 `SodaLive-dev` 스킴에도 회귀 없이 반영되는지 확인하기 위함
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
결과: `** BUILD SUCCEEDED **`
- 무엇: 테스트 액션 실행 가능 여부 확인
왜: 저장소 검증 절차에 테스트 명령이 포함되므로 실행 결과 확인 필요
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test``xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
결과: 두 스킴 모두 `Scheme ... is not currently configured for the test action.`로 테스트 액션 미구성 상태
## 추가 요구사항 반영 체크리스트 (2차)
- [x] 비밀미션 체크 시 메시지 입력창 플레이스홀더는 기존과 동일하게 `비밀` 접두어를 유지
- [x] 비밀후원 체크 시 메시지 입력창 플레이스홀더는 체크하지 않은 상태와 동일하게 유지
- 무엇: 공용 후원 다이얼로그 플레이스홀더 분기 옵션 추가
왜: 비밀미션/비밀후원 컨텍스트별로 메시지 입력창 문구 동작을 분리해야 하기 때문
어떻게: `LiveRoomDonationDialogView``shouldPrefixSecretInMessagePlaceholder` 파라미터(기본 `true`)를 추가하고 플레이스홀더를 `isSecret && shouldPrefixSecretInMessagePlaceholder` 조건으로 변경
결과: 기본 흐름(비밀미션)은 기존 동작 유지, 옵션 비활성 시(비밀후원) 접두어 미표시
- 무엇: 채널 후원 진입점에 플레이스홀더 분기 옵션 적용
왜: 채널 후원은 비밀후원 체크 시에도 일반 메시지 플레이스홀더를 유지해야 하기 때문
어떻게: `UserProfileView``LiveRoomDonationDialogView` 호출부에 `shouldPrefixSecretInMessagePlaceholder: false` 전달
결과: 채널 후원 다이얼로그에서 비밀후원 체크 여부와 무관하게 플레이스홀더가 동일하게 유지
- 무엇: 2차 반영 후 수정 파일 진단 확인
왜: 분기 파라미터 추가 이후 정적 진단 상태 확인 필요
어떻게: `lsp_diagnostics` 실행(`LiveRoomDonationDialogView.swift`, `UserProfileView.swift`, `I18n.swift`)
결과: SourceKit 환경 의존 오류 확인 (`No such module 'Kingfisher'`, `Cannot find 'LanguageHeaderProvider' in scope`), 이후 실제 빌드 성공으로 컴파일 정상 확인
- 무엇: 2차 반영 후 기본/dev 스킴 빌드 재검증
왜: 플레이스홀더 분기 변경이 스킴별 컴파일에 영향 없는지 확인 필요
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build``xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
결과: 두 스킴 모두 `** BUILD SUCCEEDED **`
- 무엇: 2차 반영 후 테스트 액션 재확인
왜: 저장소 기준 테스트 실행 가능 상태를 변경 후에도 확인하기 위함
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test``xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
결과: 두 스킴 모두 `Scheme ... is not currently configured for the test action.`로 테스트 액션 미구성 상태

View File

@@ -0,0 +1,38 @@
# 20260226 내 페이지 채널 후원 버튼 숨김
## 구현 체크리스트
- [x] 크리에이터 채널 내 `채널 후원하기` 버튼 렌더링 위치 및 표시 조건 확인
- [x] `UserProfileChannelDonationView`에 버튼 표시 제어 파라미터 추가
- [x] `UserProfileView`에서 내 페이지 여부에 따라 버튼 표시값 전달
- [x] 진단/빌드/테스트 검증 수행 및 결과 기록
## 검증 기록
- 무엇: `UserProfileChannelDonationView`/`UserProfileView` 표시 조건 위치 확인
왜: 내 페이지에서만 버튼을 숨기는 최소 수정 지점을 특정하기 위함
어떻게: `grep`/`read``채널 후원하기` 렌더링 및 `creatorId == UserDefaults.int(forKey: .userId)` 비교 로직 확인
결과: 버튼 렌더링은 `UserProfileChannelDonationView`, 내 페이지 판별값은 `UserProfileView`에서 확보
- 무엇: 버튼 표시 제어 파라미터 적용
왜: 채널 후원 영역은 유지하면서 버튼만 숨겨야 하기 때문
어떻게: `UserProfileChannelDonationView``isShowDonationButton` 파라미터 추가 후 버튼 `if` 분기, `UserProfileView`에서 내 페이지일 때 `false` 전달
결과: 내 페이지에서는 채널 후원하기 버튼 미노출, 타인 페이지는 기존과 동일
- 무엇: 변경 직후 정적 진단 확인
왜: 수정 파일의 즉시 오류 여부 확인 필요
어떻게: `lsp_diagnostics` 실행
결과: SourceKit 환경 의존 오류 확인(`No such module 'Kingfisher'` 등), 이후 실제 빌드 성공으로 컴파일 정상 확인
- 무엇: 빌드 검증(기본 스킴)
왜: 변경이 앱 컴파일에 미치는 영향 확인
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build`
결과: 1차 `BUILD FAILED`(`extra argument 'isShowDonationButton' in call`) 확인 후 초기화 시그니처 수정, 재실행 `** BUILD SUCCEEDED **`
- 무엇: 빌드 검증(dev 스킴)
왜: 동일 변경의 dev 스킴 회귀 여부 확인
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
결과: `** BUILD SUCCEEDED **`
- 무엇: 테스트 액션 실행 가능 여부 확인
왜: 저장소 검증 절차상 테스트 명령 수행 결과 확인 필요
어떻게: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test``xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
결과: 두 스킴 모두 `Scheme ... is not currently configured for the test action.`로 테스트 액션 미구성