import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:inventory_app/auth.dart'; import 'package:inventory_app/controllers/theme_controller.dart'; import 'package:inventory_app/controllers/home_controller.dart'; import 'controllers/user_controller.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await GetStorage.init(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); debugDisableShadows = true; final themeController = Get.put(ThemeController()); // inject globally Get.lazyPut(() => HomeController()); Get.put(UserController()); // Register it ONE TIME globally runApp(MyApp(themeController: themeController)); } class MyApp extends StatelessWidget { final ThemeController themeController; const MyApp({super.key, required this.themeController}); @override Widget build(BuildContext context) { return GetMaterialApp( debugShowCheckedModeBanner: false, title: 'Inventory App', themeMode: themeController.theme, theme: ThemeData( brightness: Brightness.light, primarySwatch: Colors.blue, scaffoldBackgroundColor: const Color(0xFFF6F8FC), cardColor: Colors.white, appBarTheme: const AppBarTheme( backgroundColor: Colors.white, foregroundColor: Colors.black87, elevation: 0, titleTextStyle: TextStyle(color: Colors.black), ), ), darkTheme: ThemeData( brightness: Brightness.dark, primarySwatch: Colors.blue, scaffoldBackgroundColor: const Color(0xFF121212), cardColor: const Color(0xFF1E1E1E), appBarTheme: const AppBarTheme( backgroundColor: Color(0xFF1E1E1E), foregroundColor: Colors.white, elevation: 0, titleTextStyle: TextStyle(color: Colors.white), ), ), home: const Auth(), ); } }