iOS: update tab icons, skip interval, cover radius, and mini player progress bar fix
Some checks failed
CI / UI / Build (pull_request) Failing after 6s
CI / Scraper / Test (pull_request) Failing after 6s
CI / Scraper / Lint (pull_request) Failing after 9s
CI / Scraper / Build (pull_request) Has been skipped
iOS CI / Build (push) Has been cancelled
iOS CI / Test (push) Has been cancelled
iOS CI / Build (pull_request) Failing after 2s
iOS CI / Test (pull_request) Has been skipped

This commit is contained in:
Admin
2026-03-08 19:23:14 +05:00
parent fa8fb96631
commit 57591766f2
4 changed files with 11 additions and 12 deletions

View File

@@ -27,15 +27,15 @@ struct RootTabView: View {
.tag(Tab.home)
LibraryView()
.tabItem { Label("Library", systemImage: "books.vertical.fill") }
.tabItem { Label("Library", systemImage: "book.pages.fill") }
.tag(Tab.library)
BrowseView()
.tabItem { Label("Discover", systemImage: "globe.americas.fill") }
.tabItem { Label("Discover", systemImage: "sparkles") }
.tag(Tab.browse)
ProfileView()
.tabItem { Label("Profile", systemImage: "person.fill") }
.tabItem { Label("Profile", systemImage: "gear") }
.tag(Tab.profile)
}
// Reserve space for the mini-player above the tab bar so scroll content

View File

@@ -510,9 +510,9 @@ final class AudioPlayerService: ObservableObject {
self?.togglePlayPause()
return .success
}
center.skipForwardCommand.preferredIntervals = [30]
center.skipForwardCommand.preferredIntervals = [15]
center.skipForwardCommand.addTarget { [weak self] _ in
self?.skip(by: 30)
self?.skip(by: 15)
return .success
}
center.skipBackwardCommand.preferredIntervals = [15]

View File

@@ -62,7 +62,7 @@ struct BookDetailView: View {
.font(.subheadline)
.foregroundStyle(.white.opacity(0.8))
HStack {
TagChip(label: book.status).colorScheme(.dark)
// TagChip(label: book.status).colorScheme(.dark)
ForEach(book.genres.prefix(2), id: \.self) {
TagChip(label: $0).colorScheme(.dark)
}

View File

@@ -22,7 +22,7 @@ struct MiniPlayerView: View {
Button { showFullPlayer = true } label: {
AsyncCoverImage(url: audioPlayer.coverURL)
.frame(width: 56, height: 56)
.clipShape(RoundedRectangle(cornerRadius: 12))
.clipShape(RoundedRectangle(cornerRadius: 40))
}
.buttonStyle(.plain)
@@ -141,8 +141,7 @@ struct MiniPlayerView: View {
.fill(Color.black.opacity(0.3))
)
)
.frame(height: 80)
.padding(.horizontal, 12)
.frame(height: 20)
.shadow(color: .black.opacity(0.3), radius: 12, y: 4)
// Follow finger in both directions while dragging vertically
.offset(y: dragOffset)
@@ -789,7 +788,7 @@ struct PlayerSlider: View {
let fraction = (value - range.lowerBound) / (range.upperBound - range.lowerBound)
let clampedFraction = max(0, min(1, fraction))
let filled = width * clampedFraction
let thumbSize: CGFloat = isDragging ? 22 : 16
let thumbSize: CGFloat = isDragging ? 22 : 22
let trackHeight: CGFloat = isDragging ? 5 : 4
ZStack(alignment: .leading) {
@@ -840,10 +839,11 @@ private struct MiniPlayerProgressBar: View {
ZStack(alignment: .leading) {
RoundedRectangle(cornerRadius: 40)
.fill(Color.white.opacity(0.2))
RoundedRectangle(cornerRadius: 40)
RoundedRectangle(cornerRadius: 6)
.fill(Color.amber.opacity(0.3))
.frame(width: max(0, geo.size.width * fraction))
}
.clipShape(RoundedRectangle(cornerRadius: 40))
}
}
@@ -879,7 +879,6 @@ private struct PlayerProgressSection: View {
.foregroundStyle(.white.opacity(0.5))
}
.padding(.horizontal, 28)
.padding(.top, 16)
}
private func formatTime(_ seconds: Double) -> String {