Advertisement
Guest User

Untitled

a guest
Mar 9th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. class crudMedthods{ getDataUser(Data) async {
  2. return await Firestore.instance.collection('users').document(Data).get(); } }
  3.  
  4. class LoginScreen extends StatefulWidget { @override
  5. _LoginScreenState createState() => _LoginScreenState(); }
  6.  
  7. class _LoginScreenState extends State<LoginScreen> {
  8. TextEditingController username = TextEditingController();
  9. SharedPreferences sharedPreferences; crudMedthods crudObj =
  10. crudMedthods(); var user;
  11.  
  12. Future<void> signIn() async {
  13. final formState = _formKey.currentState;
  14. if (formState.validate()) {
  15. formState.save();
  16. await FirebaseAuth.instance.signInWithEmailAndPassword(
  17. email: username.text, password: password.text);
  18. try {
  19. Navigator.push(
  20. context, MaterialPageRoute(builder: (context) => HomeScreen()));
  21. } catch (e) {
  22. print(e.message);
  23. }
  24. } }
  25.  
  26. @override Widget build(BuildContext context) {
  27. return MaterialApp(
  28. home: Scaffold(
  29. resizeToAvoidBottomPadding: false,
  30. body: ListView(children: <Widget>[
  31. Column(children: <Widget>[TextFormField(
  32. controller: username,
  33. decoration: InputDecoration(
  34. border: OutlineInputBorder(
  35. borderSide: BorderSide(
  36. color: Colors.lightBlue[50], width: 10),
  37. borderRadius: BorderRadius.circular(26.0)),
  38. contentPadding: EdgeInsets.symmetric(vertical: 17.0, horizontal: 10.0),
  39. hintText: "username",
  40. fillColor: Colors.teal[200].withOpacity(0.3),
  41. filled: true,
  42. labelText: 'Email',
  43. ),
  44. keyboardType: TextInputType.emailAddress,
  45. ),
  46. RaisedButton(
  47. shape: RoundedRectangleBorder(
  48. borderRadius: BorderRadius.circular(25.0),
  49. side: BorderSide(
  50. width: 1, color: Color(0xffd50000))),
  51. color: Color(0xffd50000),
  52. onPressed: () async {
  53. crudObj.getDataUser(username.text).then((results) {
  54. setState(() {
  55. user = results;
  56. });
  57. });
  58. signIn();
  59. sharedPreferences =
  60. await SharedPreferences.getInstance();
  61. sharedPreferences.setString(
  62. "username", username.text);
  63. sharedPreferences.setBool(
  64. "isAdmin", user["isAdmin"]);
  65. },
  66. child: Text(
  67. 'Sign in with Email',
  68. style: TextStyle(
  69. fontSize: 20,
  70. color: Colors.white,
  71. ),
  72. ),
  73. ),
  74. ])
  75. ]),
  76. ),
  77. );
  78. } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement