aagnia_base_package 0.0.2 aagnia_base_package: ^0.0.2 copied to clipboard
Flutter base component. Which is include all the basic screen and the details. If the user import the package they will use all the basic needs.
import 'dart:async';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'Screen/SplashScreen.dart';
import 'package:example/Screen/SignUpScreen.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runZoned<Future<void>>(() async {
runApp(new MyApp());
});
}
class MyApp extends StatelessWidget {
//var fsconnect = FirebaseFirestore.instance;
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.deepPurple,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: SplashScreen(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
static String user_name = "";
static String user_email = "";
static bool user_emailVerified = false;
static String user_imageUrl = "";
static String user_token = "";
static String user_uid = "";
Future<String> isLoggedIn() async {
await getPrefs();
}
final routes = <String, WidgetBuilder>{
/* SignUpScreen.tag: (BuildContext context) => SignUpScreen(),
DashBoardScreen.tag: (BuildContext context) => DashBoardScreen(),*/
};
static Future getPrefs() async {
//Store the shared pref value here
user_name = SignUpScreenState.user_name;
if(user_name!=null){
print("Login");
}
else{
print("Login not");
}
}
@override
Widget build(BuildContext context) {
return new FutureBuilder(
future: isLoggedIn(),
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Center(child: new Container());
default:
if (snapshot.hasError)
return new Text('Error: ${snapshot.error}');
else {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData.light().copyWith(
primaryColor: Colors.green,
primaryColorDark: Colors.green,
textTheme: Theme.of(context)
.textTheme
.apply(fontFamily: 'NotoSans')),
home: getHomeWidget(),
routes: routes,
);
}
}
});
}
Widget getHomeWidget() {
/*if (AUTH_TOKEN_VALUE == null) {
IS_PRE_LOGIN = true;
return new Login();
} else {
IS_PRE_LOGIN = false;
return new MyBaseScreen();
//return new MyHomePage();
}*/
return SplashScreen();
}
}