// // LibraryView.swift // Mobile Music Assistant // // Created by Sven Hanold on 26.03.26. // import SwiftUI import UIKit enum LibraryTab: CaseIterable { case albumArtists, artists, albums, playlists, genres, podcasts, radio var title: LocalizedStringKey { switch self { case .albumArtists: return "Album Artists" case .artists: return "Artists" case .albums: return "Albums" case .playlists: return "Playlists" case .genres: return "Genres" case .podcasts: return "Podcasts" case .radio: return "Radio" } } } struct LibraryView: View { @Environment(MAService.self) private var service @State private var selectedTab: LibraryTab = .albumArtists init() { UISegmentedControl.appearance().setTitleTextAttributes( [.font: UIFont.systemFont(ofSize: 11, weight: .medium)], for: .normal ) } var body: some View { NavigationStack { Group { switch selectedTab { case .albumArtists: ArtistsView(albumArtistsOnly: true) case .artists: ArtistsView() case .albums: AlbumsView() case .playlists: PlaylistsView() case .genres: GenresView() case .podcasts: PodcastsView() case .radio: RadiosView() } } .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .principal) { Picker("Library", selection: $selectedTab) { ForEach(LibraryTab.allCases, id: \.self) { tab in Text(tab.title).tag(tab) } } .pickerStyle(.segmented) .frame(maxWidth: 360) } } .withMANavigation() } } } #Preview { LibraryView() .environment(MAService()) }