import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:SEFER/views/auth/login_page.dart'; import 'package:package_info_plus/package_info_plus.dart'; import '../../constant/box_name.dart'; import '../../main.dart'; import '../../onbording_page.dart'; import '../auth/login_controller.dart'; class SplashScreenController extends GetxController with SingleGetTickerProviderMixin { late AnimationController animationController; late Animation zoomInAnimation; late Animation zoomOutAnimation; String packageInfo = ''; late String version = '1.5.48'; Future checkForUpdate() async { final packageInfo = await PackageInfo.fromPlatform(); final currentVersion = packageInfo.buildNumber; final version1 = packageInfo.version; print('currentVersion is : $currentVersion'); // Fetch the latest version from your server version = version1.toString(); print('version: ${version}'); update(); } @override void onInit() async { super.onInit(); checkForUpdate(); animationController = AnimationController( vsync: this, duration: const Duration(seconds: 4), ); zoomInAnimation = Tween(begin: 1.0, end: 1.5).animate( CurvedAnimation( parent: animationController, curve: Curves.easeInOut, ), ); zoomOutAnimation = Tween(begin: 1.5, end: 1.0).animate( CurvedAnimation( parent: animationController, curve: Curves.easeInOut, ), ); animationController.repeat(reverse: true); startTimer(); } void startTimer() async { Timer(const Duration(seconds: 5), () async { box.read(BoxName.onBoarding) == null ? Get.off(() => OnBoardingPage()) : box.read(BoxName.email) != null && box.read(BoxName.phone) != null && box.read(BoxName.isVerified) == '1' // ? Get.off(() => const MapPagePassenger()) ? await Get.put(LoginController()).loginUsingCredentials( box.read(BoxName.passengerID).toString(), box.read(BoxName.email).toString(), ) : Get.off(() => LoginPage()); }); } @override void onClose() { animationController.dispose(); super.onClose(); } }