tuuli_app/lib/main.dart

67 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:tuuli_app/api/api_client.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(
ApiClient.fromString("http://127.0.0.1:8000"),
permanent: true,
builder: () {
final client = ApiClient.fromString("http://127.0.0.1:8000");
final accessToken = GetStorage().read<String>("accessToken");
if (accessToken != null) {
client.setAccessToken(accessToken);
}
return client;
},
);
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;
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,
);
}
}