// // ContentView.swift // Juick // // Created by Vitaly Takmazov on 14.05.2023. // Copyright © 2023 com.juick. All rights reserved. // import SwiftUI struct ContentView: View { @Environment(\.horizontalSizeClass) private var size let today = Feed(title: "Today", url: "https://api.juick.com/messages?popular=1") let discussions = Feed(title: "Discussions", url: "https://api.juick.com/messages/discussions") let discover = Feed(title: "Discover", url: "https://api.juick.com/messages") @State private var showFeed : Bool = false @State private var selectedFeed: Feed? = nil var body: some View { let view = (size == .compact) ? AnyView(TabView { FeedView(today).tabItem { Image("ei-clock") } FeedView(discussions).tabItem { Image("ei-bell") } FeedView(discover).tabItem { Image("Discover") } }): AnyView(NavigationView { let tabs = [today, discussions, discover] VStack { List { ForEach(tabs, id: \.title) { tab in Button(action: { selectedFeed = tab showFeed.toggle() }, label: { Text(tab.title) }) } }.background { if let feed = selectedFeed { NavigationLink( destination: FeedView(feed), isActive: $showFeed, label: { VStack { Text(feed.title) } }) } else { EmptyView() } } }.toolbar { ToolbarItem(placement: .principal) { Text("Juick") } } }) view } } struct ContentView_Previews: PreviewProvider { static var previews: some View { NavigationView { ContentView() } } }