import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import '../../../widgets/app_back_button.dart'; class RoleScreen extends StatelessWidget { const RoleScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: Padding( padding: const EdgeInsets.all(24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const AppBackButton(fallbackRoute: '/landing'), const SizedBox(height: 24), Container( width: 60, height: 60, decoration: BoxDecoration( color: const Color(0xFF1A56DB), borderRadius: BorderRadius.circular(16), ), child: const Icon(Icons.directions_car, size: 32, color: Colors.white), ), const SizedBox(height: 24), const Text( 'Welcome to\nCar Rental', style: TextStyle( fontSize: 32, fontWeight: FontWeight.bold, color: Color(0xFF111928), height: 1.2, ), ), const SizedBox(height: 12), const Text( 'How would you like to continue?', style: TextStyle(fontSize: 16, color: Color(0xFF6B7280)), ), const SizedBox(height: 48), _RoleCard( icon: Icons.dashboard_rounded, title: 'Company Dashboard', subtitle: 'Manage fleet, reservations & customers', color: const Color(0xFF1A56DB), onTap: () => context.push('/login/employee'), ), const SizedBox(height: 16), _RoleCard( icon: Icons.search_rounded, title: 'Browse & Reserve', subtitle: 'Find and book a vehicle', color: const Color(0xFF0E9F6E), onTap: () => context.push('/client'), ), ], ), ), ), ); } } class _RoleCard extends StatelessWidget { final IconData icon; final String title; final String subtitle; final Color color; final VoidCallback onTap; const _RoleCard({ required this.icon, required this.title, required this.subtitle, required this.color, required this.onTap, }); @override Widget build(BuildContext context) { return Material( color: Colors.white, borderRadius: BorderRadius.circular(16), child: InkWell( onTap: onTap, borderRadius: BorderRadius.circular(16), child: Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( borderRadius: BorderRadius.circular(16), border: Border.all(color: const Color(0xFFE5E7EB)), ), child: Row( children: [ Container( width: 52, height: 52, decoration: BoxDecoration( color: color.withValues(alpha: 0.1), borderRadius: BorderRadius.circular(12), ), child: Icon(icon, color: color, size: 26), ), const SizedBox(width: 16), Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( title, style: const TextStyle( fontWeight: FontWeight.w600, fontSize: 16, color: Color(0xFF111928), ), ), const SizedBox(height: 4), Text( subtitle, style: const TextStyle( fontSize: 13, color: Color(0xFF6B7280), ), ), ], ), ), Icon(Icons.arrow_forward_ios_rounded, size: 16, color: color), ], ), ), ), ); } }