Minor controls improvements

This commit is contained in:
Arkadiusz Fal
2022-06-15 00:41:49 +02:00
parent cb89c4d53d
commit 7a6698897a
6 changed files with 89 additions and 93 deletions

View File

@@ -29,27 +29,22 @@ struct StreamControl: View {
.disabled(player.isLoadingAvailableStreams)
#else
Menu {
Picker("", selection: $player.streamSelection) {
ForEach(InstancesModel.all) { instance in
let instanceStreams = availableStreamsForInstance(instance)
if !instanceStreams.values.isEmpty {
let kinds = Array(instanceStreams.keys).sorted { $0 < $1 }
Picker("", selection: $player.streamSelection) {
ForEach(kinds, id: \.self) { key in
ForEach(instanceStreams[key] ?? []) { stream in
Text(stream.description).tag(Stream?.some(stream))
}
if kinds.count > 1 {
Divider()
}
ForEach(kinds, id: \.self) { key in
ForEach(instanceStreams[key] ?? []) { stream in
Text(stream.description).tag(Stream?.some(stream))
}
}
}
}
} label: {
Text(player.streamSelection?.quality ?? "no playable streams")
}
.frame(minWidth: 110)
.fixedSize(horizontal: true, vertical: true)
.disabled(player.isLoadingAvailableStreams)
#endif
}