tuuli_app/lib/pages/checkup_page.dart

59 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tuuli_app/api_controller.dart';
class CheckupPageController extends GetxController {
Future<void> checkCredentials() async {
if (ApiController.to.token.isEmpty) {
WidgetsBinding.instance.addPostFrameCallback((_) {
ApiController.to.token = "";
Get.offAllNamed("/login");
});
} else {
try {
final resp = await ApiController.to.apiClient.listTables();
WidgetsBinding.instance.addPostFrameCallback((_) {
if (resp.statusCode == 200) {
Get.offAllNamed("/home");
} else {
Get.offAllNamed("/login");
}
});
} catch (e) {
WidgetsBinding.instance.addPostFrameCallback((_) {
Get.offAllNamed("/login");
});
}
}
}
}
class CheckupPage extends GetView<CheckupPageController> {
const CheckupPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Checking credentials...',
style: Theme.of(context).textTheme.headlineMedium,
),
const SizedBox(height: 16),
FutureBuilder(
future: controller.checkCredentials(),
builder: (ctx, _) => const SizedBox.square(
dimension: 32,
child: CircularProgressIndicator(),
),
),
],
),
),
);
}
}