jocaaguraarchetype 2.0.0
jocaaguraarchetype: ^2.0.0 copied to clipboard
Paquete base para inicializar rápidamente proyectos Flutter usando Jocaagura Clean Architecture. ⚠️ Este paquete podría ser deprecado. Se recomienda usar directamente jocaagura_domain para una mejor m [...]
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:jocaagura_domain/jocaagura_domain.dart';
import 'package:jocaaguraarchetype/jocaaguraarchetype.dart';
import 'package:jocaaguraarchetype/services/service_connectivity_plus.dart';
import 'blocs/bloc_counter.dart';
import 'ui/pages/my_home_page.dart';
final JocaaguraArchetype jocaaguraArchetype = JocaaguraArchetype();
/// Zona de configuración inicial
final BlocTheme blocTheme = BlocTheme(
const ProviderTheme(
ServiceTheme(),
),
);
final BlocConnectivity blocConnectivity = BlocConnectivity(
ServiceConnectivityPlus(
const FakeConnectivityProvider(),
const FakeInternetProvider(),
debouncer: Debouncer(milliseconds: 1000),
),
);
final BlocUserNotifications blocUserNotifications = BlocUserNotifications();
final BlocLoading blocLoading = BlocLoading();
final BlocMainMenuDrawer blocMainMenuDrawer = BlocMainMenuDrawer();
final BlocSecondaryMenuDrawer blocSecondaryMenuDrawer =
BlocSecondaryMenuDrawer();
final BlocResponsive blocResponsive = BlocResponsive();
final BlocOnboarding blocOnboarding = BlocOnboarding(
<Future<void> Function()>[
// reemplazar por las funciones iniciales de configuración
() async {
blocNavigator.addPagesForDynamicLinksDirectory(<String, Widget>{
MyDemoHomePage.name: const MyDemoHomePage(title: 'Prueba'),
});
},
jocaaguraArchetype.testMe,
jocaaguraArchetype.testMe,
jocaaguraArchetype.testMe,
jocaaguraArchetype.testMe,
() async {
blocNavigator.setHomePageAndUpdate(
const MyHomePage(),
);
},
],
);
final BlocNavigator blocNavigator = BlocNavigator(
PageManager(),
OnBoardingPage(
blocOnboarding: blocOnboarding,
),
);
final AppManager appManager = AppManager(
AppConfig(
blocTheme: blocTheme,
blocUserNotifications: blocUserNotifications,
blocLoading: blocLoading,
blocMainMenuDrawer: blocMainMenuDrawer,
blocSecondaryMenuDrawer: blocSecondaryMenuDrawer,
blocResponsive: blocResponsive,
blocOnboarding: blocOnboarding,
blocNavigator: blocNavigator,
blocModuleList: <String, BlocModule>{
BlocCounter.name: BlocCounter(),
BlocConnectivity.name: blocConnectivity,
},
),
);
void main() {
runApp(
JocaaguraApp(
appManager: appManager,
),
);
}