Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the app to version 1.0.11 with several UI/UX improvements and a backend API integration change for diary time formatting. The changes focus on enhancing the user experience in the Add and My tabs, improving keyboard interaction handling, and updating the diary creation API to send time values as seconds (integers) instead of formatted strings.
Changes:
- Modified diary registration DTO to send time values as integer seconds instead of formatted time strings
- Changed default diary scope from private to public and reordered scope options in the dropdown
- Added background images to My and Add tabs for improved visual design
- Implemented keyboard dismissal on tap (outside search field) and scroll (in track list)
- Updated loading messages in the music detail page for better user feedback
- Improved profile card stats with centered horizontal alignment
- Restricted iPhone orientation to portrait-only
Reviewed changes
Copilot reviewed 14 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| KillingPart.xcodeproj/project.pbxproj | Updated app version to 1.0.11 (build 11) and restricted iPhone to portrait-only orientation |
| KillingPart/Utils/TimeFormatter.swift | New utility with functions to format time as integer seconds or minute:second display text |
| KillingPart/ViewModels/Add/AddSearchDetailViewModel.swift | Replaced local formatTime method with TimeFormatter utility and changed default diary scope to public |
| KillingPart/Views/Components/PrimaryButton.swift | Updated corner radius from 14 to 24 for a more rounded appearance |
| KillingPart/Views/Screens/Main/Add/AddTabView.swift | Added background image, keyboard dismissal on tap, and restructured layout with GeometryReader |
| KillingPart/Views/Screens/Main/Add/Components/AddSearchFieldView.swift | Added dismissKeyboardSignal parameter to support programmatic keyboard dismissal |
| KillingPart/Views/Screens/Main/Add/Components/AddTrackListView.swift | Added scrollDismissesKeyboard modifier to dismiss keyboard on scroll |
| KillingPart/Views/Screens/Main/Add/AddSearchDetail/components/AddSearchDetailTrimSection.swift | Updated to use TimeFormatter for display and improved loading/error state messages |
| KillingPart/Views/Screens/Main/Add/AddSearchDetail/components/AddSearchDetailVideoSection.swift | Removed unnecessary Group modifiers (aspectRatio, background, clipShape) now applied to individual child views |
| KillingPart/Views/Screens/Main/Add/AddSearchDetail/components/AddSearchDetailCommentSection.swift | Reordered scope options to [public, killingPart, private] |
| KillingPart/Views/Screens/Main/My/MyTabView.swift | Added background image and restructured layout with GeometryReader |
| KillingPart/Views/Screens/Main/My/MyCollection/Components/ProfileCard/MyCollectionProfileCard.swift | Wrapped stat items in HStack with centered alignment for better visual layout |
| KillingPart/Assets.xcassets/add_background.imageset/* | Added background image assets for Add tab |
| KillingPart/Assets.xcassets/my_background.imageset/* | Added background image assets for My tab |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| NavigationStack { | ||
| ZStack { | ||
| Color.black.ignoresSafeArea() | ||
| GeometryReader { geometry in |
There was a problem hiding this comment.
The geometry parameter is declared but never used. If GeometryReader is only needed to provide a container for the background image layout, consider using a closure parameter name like _ to indicate it's intentionally unused.
| GeometryReader { geometry in | |
| GeometryReader { _ in |
| NavigationStack { | ||
| ZStack { | ||
| Color.black.ignoresSafeArea() | ||
| GeometryReader { geometry in |
There was a problem hiding this comment.
The geometry parameter is declared but never used. If GeometryReader is only needed to provide a container for the background image layout, consider using a closure parameter name like _ to indicate it's intentionally unused.
| GeometryReader { geometry in | |
| GeometryReader { _ in |
업데이트 내용