import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_app/bootstrap/app_helper.dart'; import 'package:flutter_app/bootstrap/helpers.dart'; import 'package:flutter_app/config/theme.dart'; import 'package:nylo_framework/nylo_framework.dart'; import 'package:flutter_app/config/localization.dart'; import 'package:woosignal/models/response/woosignal_app.dart'; import 'package:woosignal/woosignal.dart'; import 'package:wp_json_api/wp_json_api.dart'; class AppProvider implements NyProvider { boot(Nylo nylo) async { await SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, ]); await WooSignal.instance .init(appKey: getEnv('APP_KEY'), debugMode: getEnv('APP_DEBUG')); // Notifications /// await Firebase.initializeApp( /// options: DefaultFirebaseOptions.currentPlatform, /// ); /// /// FirebaseMessaging messaging = FirebaseMessaging.instance; /// /// NotificationSettings settings = await messaging.requestPermission( /// alert: true, /// announcement: false, /// badge: true, /// carPlay: false, /// criticalAlert: false, /// provisional: false, /// sound: true, /// ); /// /// if (settings.authorizationStatus == AuthorizationStatus.authorized) { /// String token = await messaging.getToken(); /// WooSignal.instance.setFcmToken(token); /// } AppHelper.instance.appConfig = WooSignalApp(); AppHelper.instance.appConfig!.themeFont = "Poppins"; AppHelper.instance.appConfig!.themeColors = { 'light': { 'background': '0xFFFFFFFF', 'primary_text': '0xFF000000', 'button_background': '0xFF529cda', 'button_text': '0xFFFFFFFF', 'app_bar_background': '0xFFFFFFFF', 'app_bar_text': '0xFF3a3d40', }, 'dark': { 'background': '0xFF212121', 'primary_text': '0xFFE1E1E1', 'button_background': '0xFFFFFFFF', 'button_text': '0xFF232c33', 'app_bar_background': '0xFF2C2C2C', 'app_bar_text': '0xFFFFFFFF', } }; // WooSignal Setup WooSignalApp? wooSignalApp = await (appWooSignal((api) => api.getApp())); Locale locale = Locale('en'); if (wooSignalApp != null) { AppHelper.instance.appConfig = wooSignalApp; if (wooSignalApp.wpLoginEnabled == 1) { WPJsonAPI.instance.initWith( baseUrl: wooSignalApp.wpLoginBaseUrl!, shouldDebug: getEnv('APP_DEBUG'), wpJsonPath: wooSignalApp.wpLoginWpApiPath!, ); } if (getEnv('DEFAULT_LOCALE', defaultValue: null) == null && wooSignalApp.locale != null) { locale = Locale(wooSignalApp.locale!); } else { locale = Locale(envVal('DEFAULT_LOCALE', defaultValue: 'en')); } } /// NyLocalization await NyLocalization.instance.init( localeType: localeType, languageCode: locale.languageCode, languagesList: languagesList, assetsDirectory: assetsDirectory, valuesAsMap: valuesAsMap); nylo.appThemes = appThemes; return nylo; } }