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 instead of the role string, can you update the code ?