import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:toastification/toastification.dart'; import 'db/database.dart'; import 'pages/login/login_controller.dart'; import 'pages/login/login_page.dart'; import 'pages/main/home_controller.dart'; import 'pages/main/home_page.dart'; import 'pages/redirect/redirect_controller.dart'; import 'pages/redirect/redirect_page.dart'; import 'services/db_service.dart'; import 'services/toaster_service.dart'; void main() async { Get.put(ToasterService()); await Get.put(DBService()).init(); WidgetsFlutterBinding.ensureInitialized(); runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return ToastificationWrapper( child: GetMaterialApp( debugShowCheckedModeBanner: false, initialRoute: "/", getPages: [ GetPage( name: "/", page: () { final user = Get.arguments; if (user is! UserData) { Get.put(RedirectController(redirectTo: "/login")); return RedirectPage(); } Get.put(HomeController(), permanent: true).setUser(user); return const HomePage(); }, ), GetPage( name: "/login", page: () { Get.put(LoginController()); return const LoginPage(); }, ), ], ), ); } }