view LazyBear/Views/Home/HomeView.swift @ 326:2fabdc393675

Testing networking in HomeView
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Tue, 30 Mar 2021 23:13:14 +0200
parents 3e64824cca3e
children 2dad5828ccf6
line wrap: on
line source

//
//  HomeView.swift
//  LazyBear
//
//  Created by Dennis Concepción Martín on 28/3/21.
//

import SwiftUI

struct HomeView: View {
    @ObservedObject var homeData = HomeData()
    @State private var showTradingDates = false
    
    static let taskDateFormat: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .medium
        return formatter
        }()

        let dueDate = Date()
    
    var body: some View {
        NavigationView {
            List {
                SectorRow(sectorPerformance: homeData.sectorPerformance)
                    .listRowInsets(EdgeInsets())
                
                let keyTitles = ["Top gainers", "Top losers", "Most active"]
                ForEach(keyTitles, id: \.self) { keyTitle in
                    TopStockRow(keyTitle: keyTitle)
                    
                }
                .listRowInsets(EdgeInsets())
            }
            .navigationTitle("\(dueDate, formatter: Self.taskDateFormat)")
            .navigationBarTitleDisplayMode(.inline)
            .navigationViewStyle(StackNavigationViewStyle())
            .toolbar {
                ToolbarItem(placement: .navigationBarTrailing) {
                    Button(action: { showTradingDates = true }) {
                        Image(systemName: "calendar.badge.clock")
                    }
                }
                
                ToolbarItem(placement: .navigationBarLeading) {
                    Button(action: { homeData.getSectorPerformance() }) {
                        Text("Test recall")
                    }
                }
            }
        }
        .onAppear { homeData.getSectorPerformance() }
        .sheet(isPresented: $showTradingDates) {
            TradingDates()
        }
    }
}

struct HomeView_Previews: PreviewProvider {
    static var previews: some View {
        HomeView()
    }
}