// ignore_for_file: use_build_context_synchronously import '../imports.dart'; class LogInScreen extends StatefulWidget { const LogInScreen({Key? key}) : super(key: key); @override State createState() => _LogInScreenState(); } class _LogInScreenState extends State { String? username; String? roomId; @override void initState() { // TODO: implement initState super.initState(); } @override void dispose() { // TODO: implement dispose // socket.disconnect() super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ const Text("Join Room",style: TextStyle( fontSize:40, ), ), const SizedBox(height: 50,), SizedBox( width: 500, child: TextFormField( onChanged: (value){ setState((){ username=value; }); }, decoration: InputDecoration( contentPadding: const EdgeInsets.symmetric(horizontal: 20), hintText: "Enter Username", focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(32), borderSide: const BorderSide(color: Colors.blueAccent,width: 2) ), border: OutlineInputBorder( borderRadius: BorderRadius.circular(32), borderSide: const BorderSide(color: Colors.black,width: 2) ), ), ), ), const SizedBox(height: 50,), SizedBox( width: 500, child: TextFormField( onChanged: (value){ setState((){ roomId=value; }); }, decoration: InputDecoration( contentPadding: const EdgeInsets.symmetric(horizontal: 20), hintText: "Enter Room Id", focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(32), borderSide: const BorderSide(color: Colors.blueAccent,width: 2) ), border: OutlineInputBorder( borderRadius: BorderRadius.circular(32), borderSide: const BorderSide(color: Colors.black,width: 2) ), ), ), ), const SizedBox(height: 50,), GestureDetector( onTap: () async { final prefs = await SharedPreferences.getInstance(); prefs.setString('roomId', roomId!); prefs.setString('username', username!); Navigator.pop(context); Navigator.push(context, MaterialPageRoute(builder: (builder)=>ChatPage(username: username!, roomId: roomId!))); }, child: Container( width: 500, padding:const EdgeInsets.symmetric(vertical: 20,horizontal: 80), alignment: Alignment.center, decoration: BoxDecoration( color: Colors.blueAccent, borderRadius: BorderRadius.circular(32) ), child: const Text("Start Chat",style: TextStyle( color: Colors.white, fontSize: 20 ),), ), ) ], ), ), ), ); } }