|
|
|
|
@ -93,7 +93,7 @@ struct PlaylistSectionView: View { |
|
|
|
|
Section { |
|
|
|
|
let sounds = SoundCatalog.main.sounds(for: self.playlist) |
|
|
|
|
ForEach(sounds) { sound in |
|
|
|
|
ToggleRow(item: sound, selected: self.model.binding(sound: sound)) { selected in |
|
|
|
|
ImageToggleRow(item: sound, selected: self.model.binding(sound: sound)) { selected in |
|
|
|
|
self.model.selectSound(sound, selected: selected) |
|
|
|
|
}.onTapGesture { |
|
|
|
|
self._playSound(sound) |
|
|
|
|
@ -124,6 +124,20 @@ struct ToggleRow<T : Localized>: View { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
struct ImageToggleRow<T : Localized>: View { |
|
|
|
|
var item: T |
|
|
|
|
@Binding var selected: Bool |
|
|
|
|
var handleSelection: (Bool) -> () |
|
|
|
|
|
|
|
|
|
var body: some View { |
|
|
|
|
|
|
|
|
|
HStack { |
|
|
|
|
Image(systemName: "play.circle").foregroundColor(Color.accentColor) |
|
|
|
|
ToggleRow(item: item, selected: $selected, handleSelection: handleSelection) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//struct PlaylistRow: View { |
|
|
|
|
// var playlist: Playlist |
|
|
|
|
// @State var selected: Bool |
|
|
|
|
|