feat: 기술 필터와 캐릭터 목록 보기 개선#58
Merged
Merged
Conversation
- FilterCondition 구조체로 keyword, sections, attributes 통합 관리 - @published filterCondition으로 Combine 기반 자동 필터링 트리거 - updateKeyword / applyFilter 메서드로 캡슐화 - overallSections를 relocalizeAndSort 시점에 한 번만 계산하도록 개선 - LocalizedMove.section을 String?에서 String으로 변경 - Array<LocalizedMove>.overallSectionOrder 확장 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- FilterState로 섹션/속성/프레임 범위 UI 상태 관리 - ChipItem enum (.text / .icon)으로 칩 타입 추상화 - FilterBlock, ChipButton 서브뷰로 구성 - FilterView에서 직접 MoveListViewModel.applyFilter 호출 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 네비게이션 바에 필터 버튼 추가 - filterButtonTapped에서 FilterView를 sheet로 present - 검색바 텍스트 변경 시 updateKeyword 호출로 전환 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- supabase 무료 플랜에서 cached egress가 초과됨 - 원인은 사용자 증가에 따른 캐릭터 이미지 다운로드 량 증가 - 캐릭터 이미지는 변경되지 않고, 새로운 캐릭터도 쉽게 추가되지 않으므로 에셋에 넣어 트래픽 제거 및 로딩속도 향상 기대
Swift에서 &&가 ?:보다 우선순위 높아 의도치 않게 파싱되던 문제 수정. keyword/section/attribute 각 조건을 괄호로 감싸 AND 필터링이 올바르게 동작하도록 함. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- attributeBlock(heatburst/homing/wall_break/floor_break/tornado) 추가 - init에서 filterCondition으로 FilterState 초기화해 재진입 시 이전 선택 복원 - ChipButton 아이콘 케이스에 resizable/scaledToFit/opacity 적용 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 프로젝트 관련 파일 수정
- powercrush 속성이 빠져있어 이를 추가함 - 필터링 로컬라이징 추가
- 버전 업데이트: 2.0.2 - 속성 필터 순서 일부 변경
- MemoListViewController에 DIContainer 대신 compose factory 주입 - MemoComposeViewController에서 CharacterSelectViewController를 지연 생성 - CharacterSelectViewController는 preference 대신 layout mode 값만 받도록 정리
- layout toggle 버튼을 프로퍼티로 분리 - 현재 보기 방식에 맞춰 list/grid 아이콘 갱신 - 토글 아이콘 계산 로직을 helper로 분리
- 버전 업데이트
- agent 지침 문서와 작업 노트 제외 - 프레임표 CSV와 scripts 디렉터리 제외
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
주요 변경
FilterCondition기반으로 기술 목록 필터링 구조를 정리하고 SwiftUI 필터 화면을 추가했습니다.CharacterGridCell, compositional layout, 보기 전환 버튼을 구성했습니다.CharacterLayoutPreference를 통해 List/Grid 선택 상태를 UserDefaults에 저장합니다.MemoListViewController와MemoComposeViewController의 캐릭터 선택 화면 생성 흐름을 factory closure 기반으로 정리했습니다.검증
git diff --checkxcodebuild -project "Tekken8 Frame Data/TK8.xcodeproj" -scheme "Tekken8 Frame Data" -destination "generic/platform=iOS Simulator" -derivedDataPath /private/tmp/TK8DerivedData build CODE_SIGNING_ALLOWED=NOSummary by CodeRabbit
New Features
Documentation
Chores
Tests