Rev 17 | Rev 25 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
//// MainView.swift// twogetskills//// Created by Efrain Yanez Recanatini on 2/17/22.//import SwiftUIimport TTGSnackbarstruct MainView: View {@StateObject private var appNavigation = AppNavigation()@StateObject private var networkMonitor = NetworkMonitor()@State private var showToast : Bool = trueprivate var appData = AppData.sharedInstanceprivate var localNotification = LocalNotificationManager()var body: some View {ZStack {Color("color_window_background").ignoresSafeArea(.all)VStack(spacing: 0) {switch appNavigation.pageActive{case AppMainPage.intro1 :IntroStep1View().environmentObject(appNavigation).environmentObject(networkMonitor).transition(.scale)case AppMainPage.intro2 :IntroStep2View().environmentObject(appNavigation).environmentObject(networkMonitor).transition(.scale)case AppMainPage.intro3 :IntroStep3View().environmentObject(appNavigation).environmentObject(networkMonitor).transition(.scale)case AppMainPage.signin :SigninView().environmentObject(appNavigation).environmentObject(networkMonitor).transition(.scale)case AppMainPage.splash :SplashScreenView().environmentObject(appNavigation).environmentObject(networkMonitor)case AppMainPage.goodbye :GoodByeView().environmentObject(appNavigation).environmentObject(networkMonitor)case AppMainPage.videoplayer :VideoPlayerView().environmentObject(appNavigation).environmentObject(networkMonitor)case AppMainPage.pdfviewer :PdfViewerView().environmentObject(appNavigation).environmentObject(networkMonitor)case AppMainPage.webviewer :WebViewerView().environmentObject(appNavigation).environmentObject(networkMonitor)case AppMainPage.download :DownloadFileView().environmentObject(appNavigation).environmentObject(networkMonitor)default :HomeView().environmentObject(appNavigation).environmentObject(networkMonitor).transition(.scale)}//Spacer()/*if(self.networkMonitor.status == .disconnected) {Text("The popup").frame(width: UIScreen.main.bounds.width, height: 60).background(Color("color_error_background")).foregroundColor(Color("color_error_foreground")).font(.callout)}*/}} .onReceive(NotificationCenter.default.publisher(for: Constants.NOTIFICATION_NAME_COMMAND_REFRESH_CONTENT)){ data inif data.userInfo != nil {let newCapsules = Int(data.userInfo?["new_capsules"]! as? String ?? "0") ?? 0let isForeground = (Int(data.userInfo?["is_foreground"]! as? String ?? "0") ?? 0) == 1if newCapsules > 0 {let message = newCapsules == 1 ? Config.LANG_MESSAGE_NEW_CONTENT_THERE_IS_ONE_CAPSULE : Config.LANG_MESSAGE_NEW_CONTENT_THERE_ARE_MULTIPLE_CAPSULES.replacingOccurrences(of: "%s", with: String(newCapsules))if isForeground {let snackbar = TTGSnackbar(message: message, duration: .long)snackbar.show()} else {localNotification.sendNotification(title: Config.LANG_TITLE_NEW_CONTENT, subtitle: "", body: message, launchIn: 0)}}}}.onReceive(NotificationCenter.default.publisher(for: Constants.NOTIFICATION_NAME_COMMAND_EXIT)){ data inappData.userUuid = ""appData.userFirstname = ""appData.userLastname = ""appData.userEmail = ""appData.userImage = ""appData.save()appNavigation.pageActive = .goodbye}}}struct MainView_Previews: PreviewProvider {static var previews: some View {MainView()}}