//
//  Gran_FondoApp.swift
//  Gran Fondo
//
//  Created by Willem L. Middelkoop on 27/04/2024.
//

import SwiftUI

@main
struct Gran_FondoApp: App {
    
    @StateObject
    private var entitlementManager: EntitlementManager
        
    @StateObject
    private var purchaseManager: PurchaseManager
    
    var bluetoothManager = BluetoothManager()
    var activityRecorder: ActivityRecorder

    init() {
        activityRecorder = ActivityRecorder(bluetoothManager: bluetoothManager)
       
        let entitlementManager = EntitlementManager()
        let purchaseManager = PurchaseManager(entitlementManager: entitlementManager)
        
        self._entitlementManager = StateObject(wrappedValue: entitlementManager)
        self._purchaseManager = StateObject(wrappedValue: purchaseManager)

        UIApplication.shared.isIdleTimerDisabled = true
     }

    var body: some Scene {
        WindowGroup {
            ContentView()
                .environmentObject(bluetoothManager)
                .environmentObject(activityRecorder)
                .environmentObject(entitlementManager)
                .environmentObject(purchaseManager)
                .task {
                    await purchaseManager.updatePurchasedProducts()
                }
        }
    }
    
   /* var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }*/
}
