Files
kmobile/lib/features/auth/screens/welcome_screen.dart
Nilanjan Chakrabarti d4de89a91f Language Change
2025-07-10 13:19:31 +05:30

144 lines
3.7 KiB
Dart

import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:flutter/material.dart';
import 'dart:async';
class WelcomeScreen extends StatefulWidget {
final VoidCallback onContinue;
const WelcomeScreen({super.key, required this.onContinue});
@override
State<WelcomeScreen> createState() => _WelcomeScreenState();
}
class _WelcomeScreenState extends State<WelcomeScreen> {
@override
void initState() {
super.initState();
// Automatically go to login after 6 seconds
Timer(const Duration(seconds: 6), () {
widget.onContinue();
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
/// 🔹 Background Image
Positioned.fill(
child: Image.asset(
'assets/images/kconnect2.webp',
fit: BoxFit.cover,
),
),
/// 🔹 Centered Text Overlay
Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(
AppLocalizations.of(context).kconnect,
style: TextStyle(
fontSize: 36,
fontWeight: FontWeight.bold,
color: Colors.white,
letterSpacing: 1.5,
),
),
SizedBox(height: 12),
Text(
AppLocalizations.of(context).kccBankFull,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18,
color: Colors.white,
letterSpacing: 1.2,
),
),
],
),
),
/// 🔹 Loading Spinner at Bottom
const Positioned(
bottom: 40,
left: 0,
right: 0,
child: Center(
child: CircularProgressIndicator(
color: Colors.white,
),
),
),
],
),
);
}
}
/*import 'package:flutter/material.dart';
class WelcomeScreen extends StatelessWidget {
final VoidCallback onContinue;
const WelcomeScreen({super.key, required this.onContinue});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Center(
child: Padding(
padding: const EdgeInsets.all(32.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Spacer(),
const Text(
'Welcome to',
style: TextStyle(fontSize: 28, color: Colors.black87),
),
const SizedBox(height: 10),
const Text(
'KCCB',
style: TextStyle(
fontSize: 42,
fontWeight: FontWeight.bold,
color: Colors.indigo,
),
),
const SizedBox(height: 40),
Image.asset(
'assets/images/logo.png',
width: 150,
height: 150,
),
const Spacer(),
ElevatedButton(
onPressed: onContinue,
style: ElevatedButton.styleFrom(
backgroundColor: Colors.indigo,
foregroundColor: Colors.white,
padding:
const EdgeInsets.symmetric(horizontal: 28, vertical: 20),
),
child: const Text('Proceed to Login'),
),
const SizedBox(height: 24),
],
),
),
),
);
}
}
*/