mirror of
https://github.com/yattee/yattee.git
synced 2024-11-12 17:18:22 +00:00
Playlist submenu and play buttons
This commit is contained in:
parent
f090fc9fea
commit
afe7d72352
@ -58,7 +58,7 @@ struct ChannelPlaylistView: View {
|
||||
.labelStyle(.iconOnly)
|
||||
}
|
||||
|
||||
playButton
|
||||
playButtons
|
||||
.labelStyle(.iconOnly)
|
||||
}
|
||||
#endif
|
||||
@ -105,7 +105,7 @@ struct ChannelPlaylistView: View {
|
||||
|
||||
favoriteButton
|
||||
|
||||
playButton
|
||||
playButtons
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -122,6 +122,8 @@ struct ChannelPlaylistView: View {
|
||||
#if os(iOS)
|
||||
private var playlistMenu: some View {
|
||||
Menu {
|
||||
playButtons
|
||||
|
||||
favoriteButton
|
||||
|
||||
ListingStyleButtons(listingStyle: $channelPlaylistListingStyle)
|
||||
@ -161,13 +163,13 @@ struct ChannelPlaylistView: View {
|
||||
#endif
|
||||
}
|
||||
|
||||
private var playButton: some View {
|
||||
Button {
|
||||
player.play(videos)
|
||||
} label: {
|
||||
Label("Play All", systemImage: "play")
|
||||
}
|
||||
.contextMenu {
|
||||
private var playButtons: some View {
|
||||
Group {
|
||||
Button {
|
||||
player.play(videos)
|
||||
} label: {
|
||||
Label("Play All", systemImage: "play")
|
||||
}
|
||||
Button {
|
||||
player.play(videos, shuffling: true)
|
||||
} label: {
|
||||
|
@ -383,12 +383,7 @@ struct ChannelVideosView: View {
|
||||
|
||||
struct ChannelVideosView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ChannelVideosView(channel: Video.fixture.channel)
|
||||
.environment(\.navigationStyle, .tab)
|
||||
.injectFixtureEnvironmentObjects()
|
||||
|
||||
NavigationView {
|
||||
Spacer()
|
||||
ChannelVideosView(channel: Video.fixture.channel)
|
||||
.environment(\.navigationStyle, .sidebar)
|
||||
}
|
||||
|
@ -202,10 +202,16 @@ struct PlaylistsView: View {
|
||||
|
||||
#if os(iOS)
|
||||
var playlistsMenu: some View {
|
||||
Menu {
|
||||
let title = currentPlaylist?.title ?? "Playlists"
|
||||
return Menu {
|
||||
Menu {
|
||||
selectPlaylistButton
|
||||
} label: {
|
||||
Label(title, systemImage: "list.and.film")
|
||||
}
|
||||
Section {
|
||||
if let currentPlaylist {
|
||||
playButton
|
||||
playButtons
|
||||
|
||||
editPlaylistButton
|
||||
|
||||
@ -219,8 +225,6 @@ struct PlaylistsView: View {
|
||||
newPlaylistButton
|
||||
}
|
||||
|
||||
selectPlaylistButton
|
||||
|
||||
ListingStyleButtons(listingStyle: $playlistListingStyle)
|
||||
|
||||
Section {
|
||||
@ -231,7 +235,7 @@ struct PlaylistsView: View {
|
||||
HStack(spacing: 6) {
|
||||
Image(systemName: "list.and.film")
|
||||
|
||||
Text(currentPlaylist?.title ?? "Playlists")
|
||||
Text(title)
|
||||
.font(.headline)
|
||||
}
|
||||
.foregroundColor(.primary)
|
||||
@ -267,7 +271,7 @@ struct PlaylistsView: View {
|
||||
FavoriteButton(item: FavoriteItem(section: .playlist(accounts.current.id, playlist.id)))
|
||||
.labelStyle(.iconOnly)
|
||||
|
||||
playButton
|
||||
playButtons
|
||||
}
|
||||
|
||||
Spacer()
|
||||
@ -362,13 +366,13 @@ struct PlaylistsView: View {
|
||||
}
|
||||
}
|
||||
|
||||
private var playButton: some View {
|
||||
Button {
|
||||
player.play(items.compactMap(\.video))
|
||||
} label: {
|
||||
Label("Play", systemImage: "play")
|
||||
}
|
||||
.contextMenu {
|
||||
private var playButtons: some View {
|
||||
Group {
|
||||
Button {
|
||||
player.play(items.compactMap(\.video))
|
||||
} label: {
|
||||
Label("Play", systemImage: "play")
|
||||
}
|
||||
Button {
|
||||
player.play(items.compactMap(\.video), shuffling: true)
|
||||
} label: {
|
||||
|
@ -38,7 +38,7 @@ struct VideoBanner: View {
|
||||
HStack(alignment: .top, spacing: 12) {
|
||||
VStack(alignment: .trailing, spacing: 2) {
|
||||
smallThumbnail
|
||||
|
||||
|
||||
if !timeOnThumbnail, let timeLabel {
|
||||
Text(timeLabel)
|
||||
.font(.caption.monospacedDigit())
|
||||
|
Loading…
Reference in New Issue
Block a user