You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
doctor_app_flutter/lib/screens/auth/login_screen.dart

88 lines
3.1 KiB
Dart

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 SharedPref = new DrAppSharedPreferances();
class Loginsreen extends StatefulWidget {
@override
_LoginsreenState createState() => _LoginsreenState();
}
class _LoginsreenState extends State<Loginsreen> {
Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
String platformImei;
Future<String> platformImeiFuture;
Future<void> getSharedPref() async {
SharedPref.getString('platformImei').then((imei){
platformImei = imei;
});
}
@override
void initState() {
super.initState();
platformImeiFuture = _prefs.then((SharedPreferences prefs) {
return (prefs.getString('platformImei'));
});
}
@override
Widget build(BuildContext context) {
getSharedPref();
return Scaffold(
backgroundColor: Colors.white,
body: SingleChildScrollView(
child: FutureBuilder(
future: platformImeiFuture,
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return DrAppCircularProgressIndeicator();
default:
if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
return Container(
margin: EdgeInsetsDirectional.fromSTEB(30, 0, 0, 0),
alignment: Alignment.topLeft,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
(platformImei == null)
? Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AuthHeader(loginType.knownUser),
LoginForm(),
],
)
: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AuthHeader(loginType.unknownUser),
KnownUserLogin(),
],
),
]));
}
}
}),
),
);
}
}