From 70db511ca50bd0290464a972d8babe0797a77e12 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Wed, 25 Mar 2020 16:45:02 +0200 Subject: [PATCH] make the doctor name apper from shared pref --- lib/screens/auth/login_screen.dart | 19 +- lib/widgets/auth/auth_header.dart | 2 +- lib/widgets/auth/known_user_login.dart | 234 +++++++++++------- lib/widgets/auth/login_form.dart | 2 +- .../dr_app_circular_progress_Indeicator.dart | 11 + 5 files changed, 170 insertions(+), 98 deletions(-) create mode 100644 lib/widgets/shared/dr_app_circular_progress_Indeicator.dart diff --git a/lib/screens/auth/login_screen.dart b/lib/screens/auth/login_screen.dart index 973c52da..ef560b92 100644 --- a/lib/screens/auth/login_screen.dart +++ b/lib/screens/auth/login_screen.dart @@ -3,13 +3,14 @@ import 'dart:async'; import 'package:doctor_app_flutter/lookups/auth_lookup.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:doctor_app_flutter/widgets/auth/known_user_login.dart'; +import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../../widgets/auth/auth_header.dart'; import '../../widgets/auth/login_form.dart'; -DrAppSharedPreferances ShPref = new DrAppSharedPreferances(); +DrAppSharedPreferances SharedPref = new DrAppSharedPreferances(); class Loginsreen extends StatefulWidget { @override _LoginsreenState createState() => _LoginsreenState(); @@ -21,24 +22,18 @@ class _LoginsreenState extends State { String platformImei; - Future platformImeiText; + Future platformImeiFuture; Future getSharedPref() async { - final SharedPreferences prefs = await _prefs; - // platformImei = prefs.getString('platformImei'); - ShPref.getString('platformImei').then((imei){ + SharedPref.getString('platformImei').then((imei){ platformImei = imei; }); - ShPref.getObj('loggedInUser').then((loggedUser){ - if(loggedUser == null){} - print('dddddddddddddddd${loggedUser}'); - }); } @override void initState() { super.initState(); - platformImeiText = _prefs.then((SharedPreferences prefs) { + platformImeiFuture = _prefs.then((SharedPreferences prefs) { return (prefs.getString('platformImei')); }); } @@ -50,11 +45,11 @@ class _LoginsreenState extends State { backgroundColor: Colors.white, body: SingleChildScrollView( child: FutureBuilder( - future: platformImeiText, + future: platformImeiFuture, builder: (BuildContext context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.waiting: - return const CircularProgressIndicator(); + return DrAppCircularProgressIndeicator(); default: if (snapshot.hasError) { return Text('Error: ${snapshot.error}'); diff --git a/lib/widgets/auth/auth_header.dart b/lib/widgets/auth/auth_header.dart index ee5f8f92..7c9de094 100644 --- a/lib/widgets/auth/auth_header.dart +++ b/lib/widgets/auth/auth_header.dart @@ -115,7 +115,7 @@ class AuthHeader extends StatelessWidget { Text buildWelText(bool isSmallScreen, BoxConstraints constraints) { String text = 'Welcome to '; if (userType == loginType.unknownUser) { - text = 'Welcome Back to'; + text = 'Welcome Back to '; } return Text( diff --git a/lib/widgets/auth/known_user_login.dart b/lib/widgets/auth/known_user_login.dart index 432d9a2b..ebe10d88 100644 --- a/lib/widgets/auth/known_user_login.dart +++ b/lib/widgets/auth/known_user_login.dart @@ -1,94 +1,148 @@ +import 'dart:collection'; + import 'package:doctor_app_flutter/config/config.dart'; +import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; +import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +DrAppSharedPreferances SharedPref = new DrAppSharedPreferances(); + +class KnownUserLogin extends StatefulWidget { + @override + _KnownUserLoginState createState() => _KnownUserLoginState(); +} + +class _KnownUserLoginState extends State { + Future _prefs = SharedPreferences.getInstance(); + Future loggedUserFuture; + var loggedUser; + Future getSharedPref() async { + SharedPref.getObj('loggedUser').then((userInfo) { + // if(loggedUser == null){} + loggedUser = userInfo; + print('dddddddddddddddd${loggedUser}'); + }); + } + + @override + void initState() { + super.initState(); + loggedUserFuture = _prefs.then((SharedPreferences prefs) { + return (prefs.getString('platformImei')); + }); + } -class KnownUserLogin extends StatelessWidget { @override Widget build(BuildContext context) { - return LayoutBuilder( - builder: (ctx, constraints) { - int maxSmallScreenSize = MAX_SMALL_SCREEN; - bool isSmallScreen = constraints.maxWidth <= maxSmallScreenSize; - return Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Stack(children: [ - Container( - decoration: BoxDecoration( - border: Border.all( - color: Hexcolor('#CCCCCC'), - ), - borderRadius: BorderRadius.circular(50)), - margin: const EdgeInsets.fromLTRB(0, 20.0, 30, 0), - child: Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Container( - height: 100, - width: 100, - decoration: new BoxDecoration( - // color: Colors.green, // border color - shape: BoxShape.circle, - border: Border.all(color: Hexcolor('#CCCCCC'))), - child: CircleAvatar( - child: Image.asset( - 'assets/images/dr_avatar.png', - fit: BoxFit.cover, - ), - )), - Container( - margin: EdgeInsets.symmetric(vertical: 3, horizontal: 15), - child: Column( - // mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'Dr. Elham', - style: TextStyle( - color: Hexcolor('515A5D'), - fontSize: isSmallScreen - ? 24 - : constraints.maxWidth * 0.029, - fontWeight: FontWeight.w800), + getSharedPref(); + + return FutureBuilder( + future: loggedUserFuture, + builder: (BuildContext context, AsyncSnapshot snapshot) { + print('SnapShot ${snapshot}'); + switch (snapshot.connectionState) { + case ConnectionState.waiting: + return DrAppCircularProgressIndeicator(); + default: + if (snapshot.hasError) { + return Text('Error: ${snapshot.error}'); + } else { + return LayoutBuilder( + builder: (ctx, constraints) { + int maxSmallScreenSize = MAX_SMALL_SCREEN; + bool isSmallScreen = + constraints.maxWidth <= maxSmallScreenSize; + return Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Stack(children: [ + Container( + decoration: BoxDecoration( + border: Border.all( + color: Hexcolor('#CCCCCC'), + ), + borderRadius: BorderRadius.circular(50)), + margin: const EdgeInsets.fromLTRB(0, 20.0, 30, 0), + child: Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 100, + width: 100, + decoration: new BoxDecoration( + // color: Colors.green, // border color + shape: BoxShape.circle, + border: Border.all( + color: Hexcolor('#CCCCCC'))), + child: CircleAvatar( + child: Image.asset( + 'assets/images/dr_avatar.png', + fit: BoxFit.cover, + ), + )), + Container( + margin: EdgeInsets.symmetric( + vertical: 3, horizontal: 15), + child: Column( + // mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + loggedUser['List_MemberInformation'][0] + ['MemberName'], + style: TextStyle( + color: Hexcolor('515A5D'), + fontSize: isSmallScreen + ? 24 + : constraints.maxWidth * 0.029, + fontWeight: FontWeight.w800), + ), + Text( + 'ENT Spec', + style: TextStyle( + color: Hexcolor('515A5D'), + fontSize: isSmallScreen + ? 20 + : constraints.maxWidth * 0.025), + ) + ], + ), + ) + ], + ), ), - Text( - 'ENT Spec', - style: TextStyle( - color: Hexcolor('515A5D'), - fontSize: isSmallScreen - ? 20 - : constraints.maxWidth * 0.025), - ) - ], - ), - ) - ], - ), - ), - Positioned( - top: 7, - right: 70, - child: Image.asset( - 'assets/images/close_icon.png', - fit: BoxFit.cover, - )) - ]), - Container( - height: 200, - width: 200, - child: Center( - child: Image.asset( - 'assets/images/verification_fingerprint_lg_icon.png', - fit: BoxFit.cover, - ), - )), - buildButtonsContainer(isSmallScreen, constraints, context) - ], - ); - }, - ); + Positioned( + top: 7, + right: 70, + child: Image.asset( + 'assets/images/close_icon.png', + fit: BoxFit.cover, + )) + ]), + Container( + height: 200, + width: 200, + child: Center( + child: Image.asset( + 'assets/images/verification_fingerprint_lg_icon.png', + fit: BoxFit.cover, + ), + )), + buildButtonsContainer( + isSmallScreen, constraints, context) + ], + ); + }, + ); + } + } + }); } + // Container buildButtonsContainer( bool isSmallScreen, BoxConstraints constraints, BuildContext context) { return Container( @@ -97,7 +151,9 @@ class KnownUserLogin extends StatelessWidget { child: Column( children: [ RaisedButton( - onPressed: () {}, + onPressed: () { + silentLogin(); + }, elevation: 0.0, child: Container( width: double.infinity, @@ -124,7 +180,9 @@ class KnownUserLogin extends StatelessWidget { width: double.infinity, height: 50, child: FlatButton( - onPressed: () {}, + onPressed: () { + navigateToMoreOption(); + }, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), side: BorderSide( @@ -144,4 +202,12 @@ class KnownUserLogin extends StatelessWidget { ), ); } + + navigateToMoreOption() { + Navigator.of(context).pushNamed('routeName'); + } + + silentLogin(){ + + } } diff --git a/lib/widgets/auth/login_form.dart b/lib/widgets/auth/login_form.dart index 94dfa01f..ff7a0abd 100644 --- a/lib/widgets/auth/login_form.dart +++ b/lib/widgets/auth/login_form.dart @@ -270,7 +270,7 @@ class _LoginFormState extends State { authProv.insertDeviceImei(imeiInfo).then((res) { if (res['MessageStatus'] == 1) { setSharedPref('platformImei', _platformImei); - saveObjToString('loggedInUser', preRes); + saveObjToString('loggedUser', preRes); Navigator.of(context).pushNamed(HOME); // save imei on shared preferance } else { diff --git a/lib/widgets/shared/dr_app_circular_progress_Indeicator.dart b/lib/widgets/shared/dr_app_circular_progress_Indeicator.dart new file mode 100644 index 00000000..c0d4248a --- /dev/null +++ b/lib/widgets/shared/dr_app_circular_progress_Indeicator.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; +class DrAppCircularProgressIndeicator extends StatelessWidget { + const DrAppCircularProgressIndeicator({ + Key key, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return const CircularProgressIndicator(); + } +} \ No newline at end of file