import 'package:animated_background/animated_background.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'; class CheckupPage extends StatefulWidget { const CheckupPage({super.key}); @override State createState() => _CheckupPageState(); } class _CheckupPageState extends State with TickerProviderStateMixin { @override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { checkCredentials(); }); } @override Widget build(BuildContext context) { return Scaffold( body: AnimatedBackground( behaviour: RandomParticleBehaviour(), vsync: this, child: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( 'Checking credentials...', style: Theme.of(context).textTheme.headlineMedium, ), const SizedBox(height: 16), const SizedBox.square( dimension: 32, child: CircularProgressIndicator(), ), ], ), ), ), ); } Future checkCredentials() async { final accessToken = GetStorage().read("accessToken"); if (accessToken == null) { Get.offAllNamed("/login"); } else { final apiClient = Get.find(); (await apiClient.tablesList()).unfold((data) { Get.offAllNamed("/home"); }, (error) async { await GetStorage().remove("accessToken"); Get.offAllNamed("/login"); }); } } }