From ae197684ac78096cf0ef6a779eea2b1dcf22fd3f Mon Sep 17 00:00:00 2001 From: konrad Date: Thu, 14 Mar 2019 21:12:02 +0000 Subject: [PATCH] Login page design improvements (#26) --- assets/vikunja_logo_full.png | Bin 0 -> 59736 bytes lib/pages/login_page.dart | 173 ++++++++++++++++++----------------- lib/pages/register_page.dart | 12 +-- pubspec.yaml | 1 + 4 files changed, 94 insertions(+), 92 deletions(-) create mode 100644 assets/vikunja_logo_full.png diff --git a/assets/vikunja_logo_full.png b/assets/vikunja_logo_full.png new file mode 100644 index 0000000000000000000000000000000000000000..57e4652083f12810358623228a9d4d692b3de21f GIT binary patch literal 59736 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 { @override Widget build(BuildContext ctx) { return Scaffold( - appBar: AppBar( - title: Text('Login to Vikunja'), - ), - body: Builder( - builder: (BuildContext context) => SafeArea( - top: false, - bottom: false, - child: Form( - autovalidate: true, - key: _formKey, - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - children: [ - Padding( - padding: vStandardVerticalPadding, - child: Image( - image: AssetImage('assets/vikunja_logo.png'), - height: 128.0, - semanticLabel: 'Vikunja Logo', - ), - ), - Padding( - padding: vStandardVerticalPadding, - child: TextFormField( - onSaved: (serverAddress) => _server = serverAddress, - validator: (address) { - return isUrl(address) ? null : 'Invalid URL'; - }, - decoration: new InputDecoration( - border: OutlineInputBorder(), - labelText: 'Server Address'), - ), - ), - Padding( - padding: vStandardVerticalPadding, - child: TextFormField( - onSaved: (username) => _username = username, - decoration: - new InputDecoration( - border: OutlineInputBorder(), - labelText: 'Username'), - ), - ), - Padding( - padding: vStandardVerticalPadding, - child: TextFormField( - onSaved: (password) => _password = password, - decoration: - new InputDecoration( - border: OutlineInputBorder(), - labelText: 'Password'), - obscureText: true, - ), - ), - Builder( - builder: (context) => FancyButton( - onPressed: !_loading - ? () { - if (_formKey.currentState - .validate()) { - Form.of(context).save(); - _loginUser(context); - } - } - : null, - child: _loading - ? CircularProgressIndicator() - : VikunjaButtonText('Login'), - )), - Builder( - builder: (context) => FancyButton( - onPressed: () => Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - RegisterPage())), - child: VikunjaButtonText('Register'), - )), - ], - )), + body: Center( + child: SingleChildScrollView( + padding: const EdgeInsets.all(16.0), + child: Builder( + builder: (BuildContext context) => Form( + autovalidate: true, + key: _formKey, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.symmetric(vertical: 30), + child: Image( + image: AssetImage('assets/vikunja_logo_full.png'), + height: 85.0, + semanticLabel: 'Vikunja Logo', + ), + ), + Padding( + padding: vStandardVerticalPadding, + child: TextFormField( + enabled: !_loading, + onSaved: (serverAddress) => + _server = serverAddress, + validator: (address) { + return isUrl(address) + ? null + : 'Invalid URL'; + }, + decoration: new InputDecoration( + border: OutlineInputBorder(), + labelText: 'Server Address'), + ), + ), + Padding( + padding: vStandardVerticalPadding, + child: TextFormField( + enabled: !_loading, + onSaved: (username) => _username = username, + decoration: new InputDecoration( + border: OutlineInputBorder(), + labelText: 'Username'), + ), + ), + Padding( + padding: vStandardVerticalPadding, + child: TextFormField( + enabled: !_loading, + onSaved: (password) => _password = password, + decoration: new InputDecoration( + border: OutlineInputBorder(), + labelText: 'Password'), + obscureText: true, + ), + ), + Builder( + builder: (context) => FancyButton( + onPressed: !_loading + ? () { + if (_formKey.currentState + .validate()) { + Form.of(context).save(); + _loginUser(context); + } + } + : null, + child: _loading + ? CircularProgressIndicator() + : VikunjaButtonText('Login'), + )), + Builder( + builder: (context) => FancyButton( + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + RegisterPage())), + child: VikunjaButtonText('Register'), + )), + ], + ), ), - )); + ), + ), + ), + ), + ); } _loginUser(BuildContext context) async { @@ -114,7 +121,9 @@ class _LoginPageState extends State { showDialog( context: context, builder: (context) => new AlertDialog( - title: Text('Login failed! Please check your server url and credentials. ' + ex.toString()), + title: Text( + 'Login failed! Please check your server url and credentials. ' + + ex.toString()), actions: [ FlatButton( onPressed: () => Navigator.pop(context), diff --git a/lib/pages/register_page.dart b/lib/pages/register_page.dart index 17a9d49..3e5c201 100644 --- a/lib/pages/register_page.dart +++ b/lib/pages/register_page.dart @@ -20,7 +20,7 @@ class _RegisterPageState extends State { Widget build(BuildContext ctx) { return Scaffold( appBar: AppBar( - title: Text('Register to Vikunja'), + title: Text('Register'), ), body: Builder( builder: (BuildContext context) => SafeArea( @@ -29,16 +29,8 @@ class _RegisterPageState extends State { child: Form( key: _formKey, child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 16.0), + padding: const EdgeInsets.all(16), children: [ - Padding( - padding: vStandardVerticalPadding, - child: Image( - image: AssetImage('assets/vikunja_logo.png'), - height: 128.0, - semanticLabel: 'Vikunja Logo', - ), - ), Padding( padding: vStandardVerticalPadding, child: TextFormField( diff --git a/pubspec.yaml b/pubspec.yaml index 8774e4b..ee58330 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,6 +34,7 @@ flutter: assets: - assets/graphics/hypnotize.png - assets/vikunja_logo.png + - assets/vikunja_logo_full.png fonts: - family: Quicksand fonts: