improve the auth header

merge-requests/1/merge
Elham Rababah 6 years ago
parent 1abdf8e721
commit 24c87dc2b1

@ -0,0 +1 @@
enum loginType { knownUser, unknownUser }

@ -1,4 +1,4 @@
import 'package:doctor_app_flutter/models/category_models.dart'; import 'package:doctor_app_flutter/models/category_models.dart';
import 'package:doctor_app_flutter/routes.dart'; import 'package:doctor_app_flutter/routes.dart';
const DUMMY_CATEGORIES = const [ const DUMMY_CATEGORIES = const [

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:doctor_app_flutter/lookups/auth_lookup.dart';
import 'package:doctor_app_flutter/widgets/auth/known_user_login.dart'; import 'package:doctor_app_flutter/widgets/auth/known_user_login.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
@ -12,6 +13,7 @@ class Loginsreen extends StatefulWidget {
_LoginsreenState createState() => _LoginsreenState(); _LoginsreenState createState() => _LoginsreenState();
} }
class _LoginsreenState extends State<Loginsreen> { class _LoginsreenState extends State<Loginsreen> {
Future<SharedPreferences> _prefs = SharedPreferences.getInstance(); Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
@ -54,10 +56,23 @@ class _LoginsreenState extends State<Loginsreen> {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
AuthHeader(),
(platformImei == null) (platformImei == null)
? LoginForm() ? Column(
: KnownUserLogin(), crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AuthHeader(loginType.knownUser),
LoginForm(),
],
)
: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AuthHeader(loginType.unknownUser),
KnownUserLogin(),
],
),
])); ]));
} }
} }

@ -1,26 +1,22 @@
import 'package:doctor_app_flutter/lookups/auth_lookup.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_device_type/flutter_device_type.dart'; import 'package:flutter_device_type/flutter_device_type.dart';
class AuthHeader extends StatelessWidget { class AuthHeader extends StatelessWidget {
const AuthHeader({ var userType;
Key key, AuthHeader(this.userType);
}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
print(Device.get().isPhone);
print(Device.get().isAndroid);
print(Device.get().isIos);
var smallScreenSize = 660; var smallScreenSize = 660;
return LayoutBuilder(builder: (ctx, constraints) { return LayoutBuilder(builder: (ctx, constraints) {
bool isSmallScreen = constraints.maxWidth <= smallScreenSize;
bool isSmallScreen = constraints.maxWidth<=smallScreenSize;
var screen = Container( var screen = Container(
margin: isSmallScreen?null:EdgeInsetsDirectional.fromSTEB(constraints.maxWidth*0.30, constraints.maxWidth*0.1, 0, 0), margin: isSmallScreen
? null
: EdgeInsetsDirectional.fromSTEB(constraints.maxWidth * 0.30,
constraints.maxWidth * 0.1, 0, 0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
@ -28,73 +24,102 @@ class AuthHeader extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Container( Container(
margin: isSmallScreen?EdgeInsetsDirectional.fromSTEB(0, 50, 0, 0):EdgeInsetsDirectional.fromSTEB(constraints.maxWidth*0.13, 0, 0, 0), margin: isSmallScreen
? EdgeInsetsDirectional.fromSTEB(0, 50, 0, 0)
: EdgeInsetsDirectional.fromSTEB(
constraints.maxWidth * 0.13, 0, 0, 0),
child: Image.asset( child: Image.asset(
'assets/images/login_icon.png', 'assets/images/login_icon.png',
fit: BoxFit.cover, fit: BoxFit.cover,
height: isSmallScreen?null: constraints.maxWidth*0.09, height:
isSmallScreen ? null : constraints.maxWidth * 0.09,
), ),
), ),
SizedBox( SizedBox(
height: 10, height: 10,
), ),
Container( Container(
margin: isSmallScreen?null:EdgeInsetsDirectional.fromSTEB(constraints.maxWidth*0.13, 0, 0, 0), margin: isSmallScreen
? null
: EdgeInsetsDirectional.fromSTEB(
constraints.maxWidth * 0.13, 0, 0, 0),
child: Text( child: Text(
"LOGIN", "LOGIN",
style: TextStyle(fontSize: isSmallScreen?30:constraints.maxWidth*0.035, fontWeight: FontWeight.w800), style: TextStyle(
fontSize:
isSmallScreen ? 30 : constraints.maxWidth * 0.035,
fontWeight: FontWeight.w800),
), ),
) )
], ],
), ),
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: isSmallScreen
children: isSmallScreen?<Widget>[ ? <Widget>[
SizedBox( SizedBox(
height: 10, height: 10,
), ),
Text( buildWelText(isSmallScreen, constraints),
"Welcome to", buildDrSulText(isSmallScreen, constraints, context),
style: TextStyle(fontSize: isSmallScreen?24:constraints.maxWidth*0.029), ]
), : <Widget>[
Text( SizedBox(
'Dr Sulaiman Al Habib',
style: TextStyle(
fontSize: isSmallScreen?24:constraints.maxWidth*0.029,
color: Theme.of(context).primaryColor,
),
),
]:<Widget>[SizedBox(
height: 10, height: 10,
),Row( ),
Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Text( buildWelText(isSmallScreen, constraints),
"Welcome to ", buildDrSulText(isSmallScreen, constraints, context),
style: TextStyle(fontSize: isSmallScreen?24:constraints.maxWidth*0.029), ],
),
Text(
'Dr Sulaiman Al Habib',
style: TextStyle(
fontSize: isSmallScreen?24:constraints.maxWidth*0.029,
color: Theme.of(context).primaryColor,
),
), ),
], ],
),Container(
margin: isSmallScreen?null:EdgeInsetsDirectional.fromSTEB(constraints.maxWidth*0.13, 0, 0, 0),
child: Text(
"Doctor App",
style: TextStyle(
fontSize: isSmallScreen?26:constraints.maxWidth*0.030, color: Theme.of(context).primaryColor),
), ),
)], buildDrAppContainer(isSmallScreen, constraints, context)
)
], ],
)); ));
return screen; return screen;
}); });
} }
Container buildDrAppContainer(
bool isSmallScreen, BoxConstraints constraints, BuildContext context) {
return Container(
margin: isSmallScreen
? null
: EdgeInsetsDirectional.fromSTEB(
constraints.maxWidth * 0.13, 0, 0, 0),
child: Text(
"Doctor App",
style: TextStyle(
fontSize: isSmallScreen ? 26 : constraints.maxWidth * 0.030,
color: Theme.of(context).primaryColor),
),
);
}
Text buildDrSulText(
bool isSmallScreen, BoxConstraints constraints, BuildContext context) {
return Text(
'Dr Sulaiman Al Habib',
style: TextStyle(
fontSize: isSmallScreen ? 24 : constraints.maxWidth * 0.029,
color: Theme.of(context).primaryColor,
),
);
}
Text buildWelText(bool isSmallScreen, BoxConstraints constraints) {
String text = 'Welcome to ';
if (userType == loginType.unknownUser) {
text = 'Welcome Back to';
}
return Text(
text,
style: TextStyle(
fontSize: isSmallScreen ? 24 : constraints.maxWidth * 0.029),
);
}
} }

Loading…
Cancel
Save