import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intaleq_maps/intaleq_maps.dart'; import 'core/services/deep_link_service.dart'; import 'core/services/device_fingerprint_service.dart'; import 'core/services/pip_service.dart'; import 'core/theme/app_theme.dart'; import 'data/repositories/map_saas_repository.dart'; import 'logic/cubits/navigation/navigation_cubit.dart'; import 'views/splash/splash_view.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // Initialize native bridges (Deep Linking, Picture-in-Picture & Device Fingerprint) DeepLinkService.instance.init(); PipService.instance.init(); await DeviceFingerprintService.instance.init(); // Purge any stuck background offline download tasks from device cache unawaited(IntaleqOfflineService.instance.clearCache()); // Edge-to-edge luxury Apple navigation styling SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.dark, systemNavigationBarColor: Colors.white, systemNavigationBarIconBrightness: Brightness.dark, ), ); final mapSaasRepository = MapSaasRepository(); runApp( MultiRepositoryProvider( providers: [ RepositoryProvider.value(value: mapSaasRepository), ], child: BlocProvider( create: (context) => NavigationCubit( repository: mapSaasRepository, ), child: const SiroMapsApp(), ), ), ); } class SiroMapsApp extends StatelessWidget { const SiroMapsApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'خرائط سيرو - Siro Map', debugShowCheckedModeBanner: false, theme: AppTheme.lightTheme, locale: const Locale('ar', 'JO'), builder: (context, child) { return Directionality( textDirection: TextDirection.rtl, child: child ?? const SizedBox.shrink(), ); }, home: const SplashView(), ); } }