class RegisterUserPage extends StatefulWidget { const RegisterUserPage({Key? key}) : super(key: key); static const String routeName = 'RegisterUserPage'; @override State createState() => _RegisterUserPageState(); } class _RegisterUserPageState extends State { final TextEditingController textEditingController = TextEditingController(); String username = ''; @override Widget build(BuildContext context) { return BlocListener( listener: (context, state) { if (state.username != null) { Navigator.of(context).pushNamed(ChatRoomPage.routeName); } }, child: Scaffold( body: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ TextField( controller: textEditingController, decoration: const InputDecoration( hintText: 'Enter Username', ), onChanged: (value) => setState(() => username = value), ), const SizedBox(height: 40), ElevatedButton( onPressed: () => context.read().saveUsername(username), style: ElevatedButton.styleFrom( shape: const StadiumBorder(), ), child: Text('Enter'), ), ], ), ), ); } }