import 'package:sysfarma_mobile/src/core/notifications/push_notification_service.dart'; import 'package:sysfarma_mobile/src/core/router/app_router.dart'; import 'package:sysfarma_mobile/src/core/services/app_update_service.dart'; import 'package:sysfarma_mobile/src/core/theme/app_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; class SysFarmaApp extends ConsumerStatefulWidget { const SysFarmaApp({super.key}); @override ConsumerState createState() => _SysFarmaAppState(); } class _SysFarmaAppState extends ConsumerState { @override void initState() { super.initState(); Future.microtask(() async { await ref.read(pushNotificationServiceProvider).initialize(); }); // Chequeo de actualización vía Play (no-op fuera de Play Store). WidgetsBinding.instance.addPostFrameCallback((_) { ref.read(appUpdateServiceProvider).checkForUpdate(); }); } @override Widget build(BuildContext context) { final router = ref.watch(appRouterProvider); ref.listen(pushRouteStreamProvider, (prev, next) { final route = next.asData?.value; if (route != null && route.isNotEmpty) { router.go(route); } }); return MaterialApp.router( title: 'SysFarma', debugShowCheckedModeBanner: false, theme: AppTheme.light(), routerConfig: router, locale: const Locale('es', 'PE'), supportedLocales: const [ Locale('es', 'PE'), Locale('es', 'ES'), Locale('en', 'US'), ], localizationsDelegates: const [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], ); } }