import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; import 'firebase_options.dart'; import 'routes.dart'; import 'login.dart'; import 'cart.dart'; import 'payement_order.dart'; import 'signup.dart'; import 'order_history.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Carpool App', theme: ThemeData( primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, ), home: HomePage(), routes: { '/signup': (context) => SignUpPage(), '/login': (context) => LoginPage(), '/routes': (context) => RoutesPage(), '/order_history': (context) => OrderHistoryPage(), '/payment': (context) => PaymentOrderTrackingPage(), '/cart': (context) => CartPage( selectedRide: Ride( name: 'Sample Ride', startLocation: 'Sample Start', endLocation: 'Sample End', time: 'Sample Time', )), }, ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Home'), ), drawer: Drawer( child: ListView( padding: EdgeInsets.zero, children: [ const DrawerHeader( decoration: BoxDecoration( color: Colors.blue, ), child: Text( 'Menu', style: TextStyle( color: Colors.white, fontSize: 24, ), ), ), _buildDrawerItem( icon: Icons.app_registration_rounded, text: 'Signup', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/signup'); }, ), _buildDrawerItem( icon: Icons.login, text: 'Login', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/login'); }, ), _buildDrawerItem( icon: Icons.map, text: 'Routes', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/routes'); }, ), _buildDrawerItem( icon: Icons.shopping_cart, text: 'Cart', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/cart'); }, ), _buildDrawerItem( icon: Icons.history, text: 'Order History', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/order_history'); }, ), _buildDrawerItem( icon: Icons.payment, text: 'Payment & Order Tracking', onTap: () { Navigator.pop(context); Navigator.pushNamed(context, '/payment'); }, ), ], ), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ const SizedBox(height: 20), const Text( 'Hello there', style: TextStyle( fontSize: 48, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 20), const Text( 'Welcome to Carpool', style: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, ), ), const SizedBox(height: 20), Image.asset( 'assets/logo.png', width: 200, height: 200, ), const SizedBox(height: 40), ElevatedButton( onPressed: () { Navigator.pushNamed(context, '/login'); }, style: ElevatedButton.styleFrom( primary: Colors.blue, ), child: const Padding( padding: EdgeInsets.symmetric(horizontal: 40, vertical: 16), child: Text( 'Login', style: TextStyle( fontSize: 18, color: Colors.white, ), ), ), ), const SizedBox(height: 20), ElevatedButton( onPressed: () { Navigator.pushNamed(context, '/signup'); }, style: ElevatedButton.styleFrom( primary: Colors.green, ), child: const Padding( padding: EdgeInsets.symmetric(horizontal: 40, vertical: 16), child: Text( 'Signup', style: TextStyle( fontSize: 18, color: Colors.white, ), ), ), ), ], ), ), ); } Widget _buildDrawerItem({ required IconData icon, required String text, required VoidCallback onTap, }) { return ListTile( leading: Icon(icon), title: Text(text), onTap: onTap, ); } }