mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 12:14:11 +00:00 
			
		
		
		
	Display basic login form
This commit is contained in:
		@@ -1,3 +1,5 @@
 | 
			
		||||
import 'package:comunic/utils/input_utils.dart';
 | 
			
		||||
import 'package:comunic/utils/intl_utils.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
/// Login route
 | 
			
		||||
@@ -10,8 +12,81 @@ class LoginRoute extends StatefulWidget {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class _LoginRouteState extends State<LoginRoute> {
 | 
			
		||||
  String _currEmail;
 | 
			
		||||
  String _currPassword;
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  void initState() {
 | 
			
		||||
    super.initState();
 | 
			
		||||
    _currEmail = "";
 | 
			
		||||
    _currPassword = "";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void _emailChanged(String newEmail) {
 | 
			
		||||
    setState(() {
 | 
			
		||||
      _currEmail = newEmail;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  void _passwordChanged(String newValue) {
 | 
			
		||||
    setState(() {
 | 
			
		||||
      _currPassword = newValue;
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /// Call this whenever the user request to perform login
 | 
			
		||||
  void _submitForm() {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /// Build login form
 | 
			
		||||
  Widget _buildLoginForm(){
 | 
			
		||||
    return SingleChildScrollView(
 | 
			
		||||
      child: Padding(
 | 
			
		||||
        padding: const EdgeInsets.all(8.0),
 | 
			
		||||
        child: Column(
 | 
			
		||||
          children: <Widget>[
 | 
			
		||||
            Text(tr("Please sign into your Comunic account: ")),
 | 
			
		||||
            //Email address
 | 
			
		||||
            TextField(
 | 
			
		||||
              keyboardType: TextInputType.emailAddress,
 | 
			
		||||
              decoration: InputDecoration(
 | 
			
		||||
                  labelText: tr("Email address"),
 | 
			
		||||
                  alignLabelWithHint: true,
 | 
			
		||||
                  errorText:
 | 
			
		||||
                  _currEmail.length > 0 && !validateEmail(_currEmail)
 | 
			
		||||
                      ? tr("Invalid email address!")
 | 
			
		||||
                      : null),
 | 
			
		||||
              onChanged: _emailChanged,
 | 
			
		||||
            ),
 | 
			
		||||
 | 
			
		||||
            //Password
 | 
			
		||||
            TextField(
 | 
			
		||||
              obscureText: true,
 | 
			
		||||
              decoration: InputDecoration(
 | 
			
		||||
                labelText: tr("Password"),
 | 
			
		||||
                alignLabelWithHint: true,
 | 
			
		||||
              ),
 | 
			
		||||
              onChanged: _passwordChanged,
 | 
			
		||||
            ),
 | 
			
		||||
 | 
			
		||||
            RaisedButton(
 | 
			
		||||
              child: Text(tr("Sign in")),
 | 
			
		||||
              onPressed: !validateEmail(_currEmail) || _currPassword.length < 3 ? null : _submitForm,
 | 
			
		||||
            )
 | 
			
		||||
          ],
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
    return Text("Hello world");
 | 
			
		||||
    return Scaffold(
 | 
			
		||||
      appBar: AppBar(
 | 
			
		||||
        title: Text("Comunic"),
 | 
			
		||||
      ),
 | 
			
		||||
      body: _buildLoginForm()
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user