52 lines
1.2 KiB
Dart
Executable File
52 lines
1.2 KiB
Dart
Executable File
import 'package:flutter/material.dart';
|
|
import 'package:go_router/go_router.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
class SplashScreen extends StatefulWidget {
|
|
const SplashScreen({super.key});
|
|
@override
|
|
State<SplashScreen> createState() => _SplashScreenState();
|
|
}
|
|
|
|
class _SplashScreenState extends State<SplashScreen> {
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
_navigate();
|
|
}
|
|
|
|
Future<void> _navigate() async {
|
|
await Future.delayed(const Duration(seconds: 2));
|
|
|
|
final prefs = await SharedPreferences.getInstance();
|
|
String nextRoute = '/login';
|
|
|
|
if (!kIsWeb) {
|
|
if (prefs.containsKey('is_mpin_skipped')) {
|
|
final isMpinSkipped = prefs.getString('is_mpin_skipped');
|
|
if (isMpinSkipped == '0') {
|
|
nextRoute = '/pinPage';
|
|
} else {
|
|
nextRoute = '/login';
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (mounted) {
|
|
context.go(nextRoute);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
body: Center(
|
|
child: Image.asset('assets/nhance-loader.gif', width: 120, height: 120),
|
|
),
|
|
);
|
|
}
|
|
}
|