alert dialog
This commit is contained in:
parent
595e63c4a7
commit
be4804fad1
@ -25,18 +25,30 @@ class LoginDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _LoginDemoState extends State<LoginDemo> {
|
||||
Future<void> _login() async {
|
||||
TextEditingController inputPseudo = TextEditingController();
|
||||
TextEditingController inputPassword = TextEditingController();
|
||||
Future<void> _login(BuildContext context) async {
|
||||
var url = Uri.parse("http://localhost:8083/api/token");
|
||||
String credentials = "peter93:toto";
|
||||
Codec<String, String> stringToBase64 = utf8.fuse(base64);
|
||||
String encoded = stringToBase64.encode(credentials);
|
||||
var response = await http.get(url, headers: {
|
||||
HttpHeaders.authorizationHeader: 'Basic $encoded',
|
||||
});
|
||||
var pseudo = inputPseudo.text;
|
||||
var password = inputPassword.text;
|
||||
if ((pseudo.isNotEmpty) && (password.isNotEmpty)) {
|
||||
String credentials = "${pseudo}:${password}";
|
||||
Codec<String, String> stringToBase64 = utf8.fuse(base64);
|
||||
String encoded = stringToBase64.encode(credentials);
|
||||
var response = await http.get(url, headers: {
|
||||
HttpHeaders.authorizationHeader: 'Basic $encoded',
|
||||
});
|
||||
|
||||
if ((response.statusCode == 200) || (response.statusCode == 201)) {
|
||||
Navigator.push(context,
|
||||
MaterialPageRoute(builder: (_) => MyHomePage(title: 'Flutter Demo')));
|
||||
if ((response.statusCode == 200) || (response.statusCode == 201)) {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => MyHomePage(title: 'Flutter Demo')));
|
||||
} else {
|
||||
showErrorDialog(context, "Probleme d'authentification");
|
||||
}
|
||||
} else {
|
||||
showErrorDialog(context, "Champ vide");
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,6 +78,7 @@ class _LoginDemoState extends State<LoginDemo> {
|
||||
//padding: const EdgeInsets.only(left:15.0,right: 15.0,top:0,bottom: 0),
|
||||
padding: EdgeInsets.symmetric(horizontal: 15),
|
||||
child: TextField(
|
||||
controller: inputPseudo,
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
labelText: 'Email',
|
||||
@ -77,6 +90,7 @@ class _LoginDemoState extends State<LoginDemo> {
|
||||
left: 15.0, right: 15.0, top: 15, bottom: 0),
|
||||
//padding: EdgeInsets.symmetric(horizontal: 15),
|
||||
child: TextField(
|
||||
controller: inputPassword,
|
||||
obscureText: true,
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
@ -100,7 +114,7 @@ class _LoginDemoState extends State<LoginDemo> {
|
||||
color: Colors.blue, borderRadius: BorderRadius.circular(20)),
|
||||
child: FlatButton(
|
||||
onPressed: () {
|
||||
_login();
|
||||
_login(context);
|
||||
},
|
||||
child: Text(
|
||||
'Login',
|
||||
@ -117,4 +131,31 @@ class _LoginDemoState extends State<LoginDemo> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
showErrorDialog(BuildContext context, String text) {
|
||||
// Create AlertDialog
|
||||
AlertDialog dialog = AlertDialog(
|
||||
title: Text("Error"),
|
||||
content: Text(text),
|
||||
actions: [
|
||||
ElevatedButton(
|
||||
child: Text("OK"),
|
||||
style: ElevatedButton.styleFrom(
|
||||
primary: Colors.red,
|
||||
padding: EdgeInsets.symmetric(horizontal: 50, vertical: 20),
|
||||
textStyle:
|
||||
TextStyle(fontSize: 15, fontWeight: FontWeight.normal)),
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop("Yes, Of course!"); // Return value
|
||||
}),
|
||||
],
|
||||
);
|
||||
|
||||
// Call showDialog function to show dialog.
|
||||
Future futureValue = showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return dialog;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user