MIF_E31231027/smart_cycling/lib/screens/welcome_screen.dart

100 lines
3.3 KiB
Dart

import 'package:flutter/material.dart';
import '../widgets/responsive_layout.dart';
class WelcomeScreen extends StatelessWidget {
const WelcomeScreen({super.key});
@override
Widget build(BuildContext context) {
return ResponsiveLayout(
child: Scaffold(
backgroundColor: Colors.white,
body: Container(
width: double.infinity,
height: double.infinity,
decoration: const BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xFF3949AB), Color(0xFF00BCD4)],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
),
child: SafeArea(
child: Column(
children: [
const Spacer(flex: 3),
Image.asset(
'assets/images/cyclist.png',
height: 180,
fit: BoxFit.contain,
),
const SizedBox(height: 24),
const Text(
"Smart Cycling",
style: TextStyle(
fontFamily: 'Montserrat',
fontSize: 32,
fontWeight: FontWeight.bold,
color: Colors.white,
letterSpacing: 1.2,
),
),
const Spacer(flex: 3),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 40.0),
child: Container(
width: double.infinity,
height: 55,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.15),
blurRadius: 10,
offset: const Offset(0, 5),
),
],
),
child: ElevatedButton(
onPressed: () {
Navigator.pushNamed(context, '/register');
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.transparent,
foregroundColor: const Color(0xFF3949AB),
shadowColor: Colors.transparent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30),
),
),
child: const Text(
'Get Started',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18, fontFamily: 'Montserrat'),
),
),
),
),
const SizedBox(height: 16),
TextButton(
onPressed: () {
Navigator.pushNamed(context, '/login');
},
child: Text(
'I already have an account',
style: TextStyle(
color: Colors.white.withOpacity(0.8),
fontSize: 14,
fontFamily: 'Montserrat',
),
),
),
const Spacer(flex: 1),
],
),
),
),
),
);
}
}