MIF_E31231027/smart_cycling/lib/screens/splash_screen.dart

73 lines
2.2 KiB
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import '../widgets/responsive_layout.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<SplashScreen> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();
// Durasi splash screen diperpanjang (awalnya 3 detik, ditambah 3 detik menjadi 6 detik)
Timer(const Duration(seconds: 6), () {
// Pindah ke halaman welcome dan hapus splash screen dari tumpukan navigasi
Navigator.pushReplacementNamed(context, '/welcome');
});
}
@override
Widget build(BuildContext context) {
return ResponsiveLayout(
child: Scaffold(
body: Container(
width: double.infinity,
height: double.infinity,
decoration: const BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xFF3949AB), Color(0xFF00BCD4)], // Mix deep indigo and cyan
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
),
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset('assets/images/cyclist.png', height: 180),
const SizedBox(height: 32),
const Text(
'Smart Cycling',
style: TextStyle(
fontFamily: 'Montserrat',
fontSize: 34,
fontWeight: FontWeight.w900,
color: Colors.white,
letterSpacing: 1.0,
),
),
const SizedBox(height: 12),
Text(
'Aplikasi Rekomendasi Rute Bersepeda\n yang Aman, Nyaman, dan Efisien',
textAlign: TextAlign.center,
style: TextStyle(
fontFamily: 'Montserrat',
fontSize: 14,
fontWeight: FontWeight.w500,
color: Colors.white.withOpacity(0.8),
letterSpacing: 0.5,
height: 1.5,
),
),
],
),
),
),
),
);
}
}