import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:provider/provider.dart'; import 'package:phone_login/auth/auth_state.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Home')), body: Consumer( builder: (context, authState, child) { return authState.isLoggedIn ? const _LoggedInView() : const _LoggedOutView(); }, ), ); } } class _LoggedInView extends StatelessWidget { const _LoggedInView(); @override Widget build(BuildContext context) { final authState = Provider.of(context, listen: false); return Scaffold( appBar: AppBar( title: const Text('Welcome Back!'), actions: [ IconButton( icon: const Icon(Icons.person), onPressed: () { context.go('/profile'); // Navigate to profile screen }, ), ], ), body: ListView.builder( itemCount: 20, // Example items itemBuilder: (context, index) { return Card( margin: const EdgeInsets.all(8.0), child: ListTile( leading: const Icon(Icons.star), title: Text('Item ${index + 1}'), subtitle: const Text('This is an example item.'), ), ); }, ), floatingActionButton: FloatingActionButton.extended( onPressed: () { authState.logout(); // Call logout method }, label: const Text('Logout'), icon: const Icon(Icons.logout), ), floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, ); } } class _LoggedOutView extends StatelessWidget { const _LoggedOutView(); @override Widget build(BuildContext context) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Icon(Icons.lock, size: 100, color: Colors.grey), const SizedBox(height: 20), Text('Welcome!', style: Theme.of(context).textTheme.headlineMedium), const SizedBox(height: 10), const Text( 'Please log in to continue.', textAlign: TextAlign.center, style: TextStyle(color: Colors.grey), ), const SizedBox(height: 30), ElevatedButton( onPressed: () { context.go('/phone'); }, child: const Text('Login'), ), ], ), ); } }