tuuli_app/lib/main.dart

71 lines
1.7 KiB
Dart

import 'package:flu_console/flu_console.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:tuuli_app/api_controller.dart';
import 'package:tuuli_app/pages/checkup_page.dart';
import 'package:tuuli_app/pages/home_page.dart';
import 'package:tuuli_app/pages/login_page.dart';
import 'package:tuuli_app/pages/not_found_page.dart';
void main() async {
await GetStorage.init();
Get.put(ApiController(), permanent: true);
Get.lazyPut<CheckupPageController>(
() => CheckupPageController(),
fenix: true,
);
Get.lazyPut<LoginPageController>(
() => LoginPageController(),
fenix: true,
);
Get.lazyPut<HomePageController>(
() => HomePageController(),
fenix: true,
);
FluConsole.run(() {
runApp(const MainApp());
});
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
debugShowMaterialGrid: false,
initialRoute: "/",
onGenerateRoute: _onGenerateRoute,
theme: ThemeData(
brightness: Brightness.dark,
primaryColor: Colors.blueGrey,
),
);
}
Route _onGenerateRoute(RouteSettings settings) {
Widget pageBody;
switch (settings.name) {
case "/":
pageBody = const CheckupPage();
break;
case "/login":
pageBody = const LoginPage();
break;
case "/home":
pageBody = const HomePage();
break;
default:
pageBody = const NotFoundPage();
break;
}
return MaterialPageRoute(
builder: (context) => pageBody,
);
}
}