Как передать Class в View правильно?

Имеется файл FirebaseManager.swift, в нем собираются данные на пользователя из БД Firebase

import Foundation
import Firebase

class FirestoreManager: ObservableObject {
    @Published var firstName: String = ""
    @Published var secondName: String = ""
    @Published var userEmail: String = ""
    @Published var userType: String = ""
    @Published var userID: String = ""
    
    func fetchUserData() {
        let user = Auth.auth().currentUser
        if let user = user {
            self.userID = user.uid
        }
        
        let db = Firestore.firestore()
        let docRef = db.collection("users").document(userID)
        
        docRef.getDocument { (document, error) in
            guard error == nil else {
                print("error to fetch user data")
                return
            }
            
            if let document = document, document.exists {
                let data = document.data()
                
                if let data = data {
                    print("data", data)
                    
                    self.firstName = data["UserName"] as? String ?? ""
                    self.secondName = data["UserSecondName"] as? String ?? ""
                    self.userEmail = data["UserEmail"] as? String ?? ""
                    self.userType = data["UserType"] as? String ?? ""
                }
            }
            
        }
    }
    
    init() {
        fetchUserData()
    }
}

Мне нужно его передать данный класс в MainPageView

import SwiftUI
import Firebase

@main
struct NewLoginApp: App {
    let persistenceController = PersistenceController.shared
    @StateObject var firestoreManager = FirestoreManager()
    
    init() {
        FirebaseApp.configure()
    }

    var body: some Scene {
        WindowGroup {
            LoginView()
                .environment(\.managedObjectContext, persistenceController.container.viewContext)
            MainPageView(showProfileView: .constant(false), showToggleLogin: .constant(true))
                .environmentObject(firestoreManager)
                
        }
    }
}

Но когда я его передаю и компилирую все это на устройство iOS экран делится на 2 с изображением от LoginView и MainPageView

Подскажите пожалуйста как это правильно оформить, спасибо!


Ответы (0 шт):