Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class crudMedthods{ getDataUser(Data) async {
- return await Firestore.instance.collection('users').document(Data).get(); } }
- class LoginScreen extends StatefulWidget { @override
- _LoginScreenState createState() => _LoginScreenState(); }
- class _LoginScreenState extends State<LoginScreen> {
- TextEditingController username = TextEditingController();
- SharedPreferences sharedPreferences; crudMedthods crudObj =
- crudMedthods(); var user;
- Future<void> signIn() async {
- final formState = _formKey.currentState;
- if (formState.validate()) {
- formState.save();
- await FirebaseAuth.instance.signInWithEmailAndPassword(
- email: username.text, password: password.text);
- try {
- Navigator.push(
- context, MaterialPageRoute(builder: (context) => HomeScreen()));
- } catch (e) {
- print(e.message);
- }
- } }
- @override Widget build(BuildContext context) {
- return MaterialApp(
- home: Scaffold(
- resizeToAvoidBottomPadding: false,
- body: ListView(children: <Widget>[
- Column(children: <Widget>[TextFormField(
- controller: username,
- decoration: InputDecoration(
- border: OutlineInputBorder(
- borderSide: BorderSide(
- color: Colors.lightBlue[50], width: 10),
- borderRadius: BorderRadius.circular(26.0)),
- contentPadding: EdgeInsets.symmetric(vertical: 17.0, horizontal: 10.0),
- hintText: "username",
- fillColor: Colors.teal[200].withOpacity(0.3),
- filled: true,
- labelText: 'Email',
- ),
- keyboardType: TextInputType.emailAddress,
- ),
- RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(25.0),
- side: BorderSide(
- width: 1, color: Color(0xffd50000))),
- color: Color(0xffd50000),
- onPressed: () async {
- crudObj.getDataUser(username.text).then((results) {
- setState(() {
- user = results;
- });
- });
- signIn();
- sharedPreferences =
- await SharedPreferences.getInstance();
- sharedPreferences.setString(
- "username", username.text);
- sharedPreferences.setBool(
- "isAdmin", user["isAdmin"]);
- },
- child: Text(
- 'Sign in with Email',
- style: TextStyle(
- fontSize: 20,
- color: Colors.white,
- ),
- ),
- ),
- ])
- ]),
- ),
- );
- } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement