Version one on the App Store
This commit is contained in:
@@ -18,7 +18,9 @@ struct RadiosView: View {
|
||||
@State private var selectedRadio: MAMediaItem?
|
||||
|
||||
private var players: [MAPlayer] {
|
||||
Array(service.playerManager.players.values).sorted { $0.name < $1.name }
|
||||
Array(service.playerManager.players.values)
|
||||
.filter { $0.available }
|
||||
.sorted { $0.name < $1.name }
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
@@ -56,9 +58,12 @@ struct RadiosView: View {
|
||||
}
|
||||
.sheet(isPresented: $showPlayerPicker) {
|
||||
if let radio = selectedRadio {
|
||||
PlayerPickerView(players: players) { player in
|
||||
Task { await playRadio(radio, on: player) }
|
||||
}
|
||||
EnhancedPlayerPickerView(
|
||||
players: players,
|
||||
onSelect: { player in
|
||||
Task { await playRadio(radio, on: player) }
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,6 +89,7 @@ struct RadiosView: View {
|
||||
showError = true
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - Radio Row
|
||||
@@ -94,23 +100,18 @@ private struct RadioRow: View {
|
||||
|
||||
var body: some View {
|
||||
HStack(spacing: 12) {
|
||||
if let imageUrl = radio.imageUrl {
|
||||
CachedAsyncImage(url: service.imageProxyURL(path: imageUrl, size: 128)) { image in
|
||||
image.resizable().aspectRatio(contentMode: .fill)
|
||||
} placeholder: {
|
||||
RoundedRectangle(cornerRadius: 8).fill(Color.gray.opacity(0.2))
|
||||
}
|
||||
.frame(width: 50, height: 50)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 8))
|
||||
} else {
|
||||
CachedAsyncImage(url: service.imageProxyURL(path: radio.imageUrl, provider: radio.imageProvider, size: 128)) { image in
|
||||
image.resizable().aspectRatio(contentMode: .fill)
|
||||
} placeholder: {
|
||||
RoundedRectangle(cornerRadius: 8)
|
||||
.fill(Color.gray.opacity(0.2))
|
||||
.frame(width: 50, height: 50)
|
||||
.overlay {
|
||||
Image(systemName: "antenna.radiowaves.left.and.right")
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
.frame(width: 50, height: 50)
|
||||
.clipShape(RoundedRectangle(cornerRadius: 8))
|
||||
|
||||
Text(radio.name)
|
||||
.font(.body)
|
||||
|
||||
Reference in New Issue
Block a user