I want to change the role TextFormField here “import ‘package:flutter/material.dart’;
import ‘login_logic.dart’;
import ‘signup_logic.dart’;
import ‘logout_logic.dart’;
//import ‘package:flutter/foundation.dart’;
//import ‘package:fluttertoast/fluttertoast.dart’;
//import ‘dart:convert’;


void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘Welcome to Attendance Manager!’,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: LoginSignupPage(),
);
}
}

class LoginSignupPage extends StatefulWidget {
@override
_LoginSignupPageState createState() => _LoginSignupPageState();
}

class _LoginSignupPageState extends State<LoginSignupPage> {
bool _isLoginForm = true;
final TextEditingController _emailController = TextEditingController();
final TextEditingController _passwordController = TextEditingController();
final TextEditingController _usernameController = TextEditingController();
final TextEditingController _roleController = TextEditingController();
final TextEditingController _matriculeController = TextEditingController();

void _toggleFormMode() {
setState(() {
_isLoginForm = !_isLoginForm;
});
}

final loginLogic = LoginLogic();

void _login() async {
print(‘_login method called’);
try {
final response = await loginLogic.login(
_usernameController.text,
_passwordController.text,
);
await loginLogic.handleResponse(context, response);
} catch (e) {
// Handle any network or server errors
}
}


final _signupLogic = SignupLogic();

Future<void> _signup() async {
try {
final response = await _signupLogic.registerUser(
context,
_emailController.text,
_usernameController.text,
_passwordController.text,
_roleController.text,
_matriculeController.text,
);
if (response.statusCode == 200 || response.statusCode == 201) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(‘Compte créé avec succès’),
actions: <Widget>[
ElevatedButton(
child: Text(‘OK’),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
print(‘Registration success’);
} else {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text(‘Erreur’),
content: Text(‘Veuillez remplir tous les champs et réessayez’),
actions: <Widget>[
ElevatedButton(
child: Text(‘OK’),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
print(‘Received signup response with status code: ${response.statusCode}’);
}
} catch (e) {
// handle network or server errors
}
}


@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(_isLoginForm ? ‘Login’ : ‘Signup’),
/actions: [
IconButton(
icon: Icon(Icons.logout),
onPressed: () => LogoutLogic.logout(context),
),
],/
),
body: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
SizedBox(height: 48.0),
if (_isLoginForm)
TextFormField(
controller: _usernameController,
decoration: InputDecoration(
labelText: ‘Username’,
hintText: ‘Enter your username’,
),
),
if (!_isLoginForm)
TextFormField(
controller: _emailController,
decoration: InputDecoration(
labelText: ‘Email’,
hintText: ‘Enter your email address’,
),
),
SizedBox(height: 16.0),
TextFormField(
controller: _passwordController,
obscureText: true,
decoration: InputDecoration(
labelText: ‘Password’,
hintText: ‘Enter your password’,
),
),
SizedBox(height: 16.0),
if (!_isLoginForm)
TextFormField(
controller: _usernameController,
decoration: InputDecoration(
labelText: ‘Username’,
hintText: ‘Enter your username’,
),
),
SizedBox(height: 16.0),
if (!_isLoginForm)
TextFormField(
controller: _roleController,
decoration: InputDecoration(
labelText: ‘Role’,
hintText: ‘Enter your role’,
),
),
SizedBox(height: 16.0),
if (!_isLoginForm)
TextFormField(
controller: _matriculeController,
decoration: InputDecoration(
labelText: ‘Matricule’,
hintText: ‘Enter your matricule’,
),
),
SizedBox(height: 48.0),
ElevatedButton(
child: Text(_isLoginForm ? ‘Login’ : ‘Signup’),
onPressed: () {
print(‘Login button pressed’);
if (_isLoginForm) {
_login();
} else {
_signup();
}
},
),
TextButton(
child: Text(_isLoginForm
? ‘Create an account’
: ‘Have an account? Sign in’),
onPressed: _toggleFormMode,
),
],
),
),
),
);
}
}” to a drop down menu that has three options : “Admin”, “Etudiant” and “Enseignant” while having the selected option value treated in the exact way it is in the code, can you update the code ?