smartfarming-mobile/agrilink_vocpro/lib/features/splash/view/splash_screen.dart

76 lines
1.9 KiB
Dart

import 'dart:async';
import 'package:agrilink_vocpro/core/route/app_route.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<SplashScreen> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
bool isLoggedIn = false;
@override
void initState() {
super.initState();
_initialize();
}
Future<void> _initialize() async {
// final authProvider = Provider.of<AuthProvider>(context, listen: false);
// bool isLoggedIn = await _checkLoginStatus(authProvider);
_navigateAfterSplash(isLoggedIn);
}
// Future<bool> _checkLoginStatus(AuthProvider authProvider) async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
// if (prefs.getKeys().isEmpty) return false;
// if (prefs.getBool('isLoggedIn') == true) {
// String? token = prefs.getString('token');
// String? refreshToken = prefs.getString('refreshToken');
// if (token != null && !JwtDecoder.isExpired(token)) {
// return true;
// } else if (refreshToken != null && !JwtDecoder.isExpired(refreshToken)) {
// final result = await authProvider.refreshToken();
// return result == ResultState.hasData;
// } else {
// prefs.remove('token');
// return false;
// }
// }
// return false;
// }
void _navigateAfterSplash(bool isLoggedIn) {
Timer(const Duration(seconds: 2), () {
if (isLoggedIn == true) {
context.go(AppRoute.dashboard);
} else {
context.go(AppRoute.login);
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Center(
child: Image.asset(
'assets/images/app_logo.png',
width: 80,
),
),
),
);
}
}