import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.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(); runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return GetMaterialApp( debugShowCheckedModeBanner: false, debugShowMaterialGrid: false, initialRoute: "/login", onGenerateRoute: _onGenerateRoute, theme: ThemeData( brightness: Brightness.dark, primaryColor: Colors.blueGrey, ), ); } Route _onGenerateRoute(RouteSettings settings) { Widget? pageBody; bool appBarNeeded = true; switch (settings.name) { case "/": appBarNeeded = false; pageBody = const CheckupPage(); break; case "/login": appBarNeeded = false; pageBody = const LoginPage(); break; case "/home": pageBody = const HomePage(); break; default: pageBody = const NotFoundPage(); break; } return MaterialPageRoute( builder: (context) => Scaffold( appBar: appBarNeeded ? AppBar( title: const Text('GWS Playground'), actions: [ if (Navigator.of(context).canPop()) IconButton( icon: const Icon(Icons.arrow_back), onPressed: () { Get.back(canPop: false); }, ), IconButton( icon: const Icon(Icons.home), onPressed: () { Get.offAllNamed("/"); }, ), IconButton( icon: const Icon(Icons.logout), onPressed: () { GetStorage().erase().then((value) { GetStorage().save(); Get.offAllNamed("/"); }); }, ), ], ) : null, body: pageBody, ), ); } }