// lib/main.dart - FIXED: Frame Android Tetap Muncul import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'core/widgets/android_frame_wrapper.dart'; import 'features/splash/splash_screen.dart'; import 'features/auth/login_page.dart'; import 'features/dashboard/dashboard_page.dart'; import 'features/profil/profil_page.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, ]); SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarIconBrightness: Brightness.dark, ), ); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'SIM-PKPPS Mobile', debugShowCheckedModeBanner: false, theme: ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed( seedColor: Colors.deepPurple, brightness: Brightness.light, ), platform: TargetPlatform.android, fontFamily: 'Roboto', cardTheme: CardTheme( elevation: 2, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), ), ), appBarTheme: const AppBarTheme( centerTitle: true, elevation: 0, ), ), // 🔥 KUNCI SOLUSI: Wrap builder dengan AndroidFrameWrapper builder: (context, child) { return AndroidFrameWrapper( showFrame: true, child: child ?? const SizedBox(), ); }, // Named Routes initialRoute: '/', routes: { '/': (context) => const SplashScreen(), '/login': (context) => const LoginPage(), '/dashboard': (context) => const DashboardPage(), '/profil': (context) => const ProfilPage(), }, ); } }