// lib/main.dart import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:smpn1_lengkong/core/constants/app_colors.dart'; import 'package:smpn1_lengkong/core/routes/app_routes.dart'; import 'package:smpn1_lengkong/core/service/fcm_service.dart'; // 1. Definisikan Navigator Key secara Global final GlobalKey navigatorKey = GlobalKey(); void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); // 2. Setup Handler Background (Wajib Top Level) FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler); // 3. Init Notifikasi await FcmService().initNotifications(); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return ScreenUtilInit( designSize: const Size(375, 812), minTextAdapt: true, builder: (context, child) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'SMPN 1 Lengkong', // 4. Pasang Navigator Key disini navigatorKey: navigatorKey, theme: ThemeData( scaffoldBackgroundColor: AppColors.backgroundWhite, colorScheme: ColorScheme.fromSeed(seedColor: AppColors.primaryBlue), useMaterial3: true, ), initialRoute: AppRoutes.splash, routes: AppRoutes.routes, ); }, ); } }