mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Improve login route
This commit is contained in:
		@@ -3,6 +3,7 @@ import 'package:comunic/models/authentication_details.dart';
 | 
				
			|||||||
import 'package:comunic/ui/routes/create_account_route.dart';
 | 
					import 'package:comunic/ui/routes/create_account_route.dart';
 | 
				
			||||||
import 'package:comunic/ui/routes/reset_password_route.dart';
 | 
					import 'package:comunic/ui/routes/reset_password_route.dart';
 | 
				
			||||||
import 'package:comunic/ui/widgets/init_widget.dart';
 | 
					import 'package:comunic/ui/widgets/init_widget.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/ui/widgets/login_scaffold.dart';
 | 
				
			||||||
import 'package:comunic/utils/input_utils.dart';
 | 
					import 'package:comunic/utils/input_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/intl_utils.dart';
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/ui_utils.dart';
 | 
					import 'package:comunic/utils/ui_utils.dart';
 | 
				
			||||||
@@ -96,7 +97,6 @@ class _LoginRouteState extends State<LoginRoute> {
 | 
				
			|||||||
        padding: const EdgeInsets.all(8.0),
 | 
					        padding: const EdgeInsets.all(8.0),
 | 
				
			||||||
        child: Column(
 | 
					        child: Column(
 | 
				
			||||||
          children: <Widget>[
 | 
					          children: <Widget>[
 | 
				
			||||||
            Text(tr("Please sign into your Comunic account: ")),
 | 
					 | 
				
			||||||
            Container(
 | 
					            Container(
 | 
				
			||||||
              child: _buildErrorCard(),
 | 
					              child: _buildErrorCard(),
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
@@ -136,7 +136,7 @@ class _LoginRouteState extends State<LoginRoute> {
 | 
				
			|||||||
            InkWell(
 | 
					            InkWell(
 | 
				
			||||||
              child: Text(
 | 
					              child: Text(
 | 
				
			||||||
                tr("Create an account"),
 | 
					                tr("Create an account"),
 | 
				
			||||||
                style: TextStyle(color: Colors.blue),
 | 
					                style: TextStyle(color: Colors.blue.shade100),
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              onTap: () => _openCreateAccountPage(),
 | 
					              onTap: () => _openCreateAccountPage(),
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
@@ -146,7 +146,7 @@ class _LoginRouteState extends State<LoginRoute> {
 | 
				
			|||||||
            InkWell(
 | 
					            InkWell(
 | 
				
			||||||
              child: Text(
 | 
					              child: Text(
 | 
				
			||||||
                tr("Password forgotten"),
 | 
					                tr("Password forgotten"),
 | 
				
			||||||
                style: TextStyle(color: Colors.blue),
 | 
					                style: TextStyle(color: Colors.blue.shade100),
 | 
				
			||||||
              ),
 | 
					              ),
 | 
				
			||||||
              onTap: _openResetPasswordPage,
 | 
					              onTap: _openResetPasswordPage,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
@@ -158,10 +158,6 @@ class _LoginRouteState extends State<LoginRoute> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
    return Scaffold(
 | 
					    return LoginScaffold(child: _buildLoginForm());
 | 
				
			||||||
        appBar: AppBar(
 | 
					 | 
				
			||||||
          title: Text("Comunic"),
 | 
					 | 
				
			||||||
        ),
 | 
					 | 
				
			||||||
        body: _buildLoginForm());
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										57
									
								
								lib/ui/widgets/login_scaffold.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								lib/ui/widgets/login_scaffold.dart
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// Custom "Scaffold" for signed out users
 | 
				
			||||||
 | 
					///
 | 
				
			||||||
 | 
					/// @author Pierre Hubert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class LoginScaffold extends StatelessWidget {
 | 
				
			||||||
 | 
					  final Widget child;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const LoginScaffold({Key key, @required this.child})
 | 
				
			||||||
 | 
					      : assert(child != null),
 | 
				
			||||||
 | 
					        super(key: key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 | 
					    final mediaQuery = MediaQuery.of(context);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final availableHeight =
 | 
				
			||||||
 | 
					        mediaQuery.size.height - mediaQuery.viewInsets.bottom;
 | 
				
			||||||
 | 
					    final minHeight = 400.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final contentHeight =
 | 
				
			||||||
 | 
					        availableHeight < minHeight ? minHeight : availableHeight;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return Scaffold(
 | 
				
			||||||
 | 
					      body: SingleChildScrollView(
 | 
				
			||||||
 | 
					        child: Center(
 | 
				
			||||||
 | 
					          child: Container(
 | 
				
			||||||
 | 
					            height: contentHeight,
 | 
				
			||||||
 | 
					            child: ConstrainedBox(
 | 
				
			||||||
 | 
					              constraints: BoxConstraints(maxWidth: 300),
 | 
				
			||||||
 | 
					              child: Column(
 | 
				
			||||||
 | 
					                children: <Widget>[
 | 
				
			||||||
 | 
					                  Spacer(flex: 3),
 | 
				
			||||||
 | 
					                  Text("Comunic", style: TextStyle(fontSize: 50)),
 | 
				
			||||||
 | 
					                  Spacer(flex: 1),
 | 
				
			||||||
 | 
					                  Text(tr("Free social network that respect your privacy")),
 | 
				
			||||||
 | 
					                  Spacer(flex: 1),
 | 
				
			||||||
 | 
					                  Padding(
 | 
				
			||||||
 | 
					                    padding: const EdgeInsets.all(8.0),
 | 
				
			||||||
 | 
					                    child: Material(
 | 
				
			||||||
 | 
					                      child: child,
 | 
				
			||||||
 | 
					                      color: Colors.indigo.shade500,
 | 
				
			||||||
 | 
					                    ),
 | 
				
			||||||
 | 
					                  ),
 | 
				
			||||||
 | 
					                  Spacer(flex: 5),
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          ),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					      ),
 | 
				
			||||||
 | 
					      backgroundColor: Colors.indigo.shade900,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user