[Feat]: 메인 화면 UI 구현#13
Open
unib35 wants to merge 5 commits into
Open
Conversation
- MainFeature TCA Reducer 구현 - RelayList, ChartSong, Artist, Playlist, YouTubeVideo 모델 정의 - MainClient Dependency 및 Mock 데이터 추가 - 타이머 기반 릴레이리스트 카운트다운 구현 - MainView 구현 - 릴레이리스트 카드 섹션 (페이지 인디케이터 포함) - 위플리 TOP 100 차트 섹션 - 배너 섹션 (가로 스크롤) - 위플리 인기 랭킹 (아티스트 프로필) - 위플리 추천 플레이리스트 - 테마별 플레이리스트 - YouTube Music 섹션
- AppFeature 추가: 앱 레벨 상태 관리 (isLoggedIn) - AppView 추가: 로그인 상태에 따라 LoginView/MainView 전환 - 소셜 로그인 버튼 클릭 시 메인 화면으로 이동 (임시)
- ScrollView가 상단 safe area까지 확장되도록 수정 - MainAppBar 배경 그라디언트가 상단까지 이어지도록 개선 - RelayListCard가 safe area를 고려하여 콘텐츠 위치 조정
- GeometryReader를 최상위로 이동하여 safe area 값을 정확히 전달 - MainAppBar 그라디언트 제거로 이상한 그림자 효과 해결 - RelayListSection이 처음부터 노치까지 확장되도록 수정
- Models: MainModels.swift로 모델 분리 (RelayList, Song, ChartSong 등) - Client: MainClient.swift로 Dependency 분리 - Client: MainMockData.swift로 목데이터 분리 - Components: 섹션별 뷰 컴포넌트 분리 - MainAppBar, RelayListSection, ChartSection - BannerSection, ArtistRankingSection - PlaylistSection, YouTubeSection - Extensions: Color+Hex.swift로 공용 Color extension 분리 - MainFeature.swift: Reducer 로직만 유지 - MainView.swift: 메인 뷰 조합만 담당
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.
🔮 작업 요약
Figma 디자인을 기반으로 메인 화면을 TCA 패턴으로 구현하고, 로그인 → 메인 화면 네비게이션을 연결했습니다.
🖥️ 상세 작업 내용
AppFeature (루트 상태 관리)
isLoggedIn)MainFeature (TCA Reducer)
RelayList,ChartSong,Artist,Playlist,YouTubeVideo,BannerMainClientDependency 및 Mock 데이터 구현MainView (UI)
코드 리팩토링
MainModels.swift로 모델 타입 추출MainClient.swift로 Dependency 추출MainMockData.swift로 목데이터 추출MainAppBar.swift,RelayListSection.swift,ChartSection.swiftBannerSection.swift,ArtistRankingSection.swiftPlaylistSection.swift,YouTubeSection.swiftColor+Hex.swift로 공용 확장 추출📁 파일 구조
📸 참고 디자인
📌 이슈 및 특이사항
WithPerceptionTracking패턴 사용 (TCA + SwiftUI 호환)🚀 관련 이슈