import 'package:flutter/material.dart'; import 'dart:async'; import 'login_screen.dart'; class SplashScreen extends StatefulWidget { const SplashScreen({super.key}); @override State createState() => _SplashScreenState(); } class _SplashScreenState extends State with SingleTickerProviderStateMixin { late AnimationController _controller; late Animation _fadeAnimation; late Animation _scaleAnimation; late Animation _slideAnimation; @override void initState() { super.initState(); _controller = AnimationController(vsync: this, duration: const Duration(seconds: 2)); _fadeAnimation = Tween(begin: 0.0, end: 1.0).animate(_controller); _scaleAnimation = Tween(begin: 0.7, end: 1.0).animate( CurvedAnimation(parent: _controller, curve: Curves.easeOutBack), ); _slideAnimation = Tween(begin: 50, end: 0).animate( CurvedAnimation(parent: _controller, curve: Curves.easeOut), ); _controller.forward(); /// PINDAH KE LOGIN Timer(const Duration(seconds: 3), () { Navigator.pushReplacement( context, MaterialPageRoute(builder: (_) => const LoginScreen()), ); }); } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color.fromARGB(255, 255, 255, 255), body: Center( child: AnimatedBuilder( animation: _controller, builder: (context, child) { return Opacity( opacity: _fadeAnimation.value, child: Transform.translate( offset: Offset(0, _slideAnimation.value), child: Transform.scale( scale: _scaleAnimation.value, child: child, ), ), ); }, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( "assets/logo.png", width: 150, ), const SizedBox(height: 20), const Text( "SmartToge", style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, color: Color.fromARGB(255, 0, 0, 0), ), ), ], ), ), ), ); } }