Get user email on home screen
This commit is contained in:
Binary file not shown.
BIN
Binary file not shown.
@@ -1,7 +1,10 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:patient_manager/main.dart';
|
||||
|
||||
class MyAppBar extends StatelessWidget {
|
||||
class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||
@override
|
||||
Size get preferredSize => const Size.fromHeight(60);
|
||||
|
||||
final String barTitle;
|
||||
|
||||
const MyAppBar({super.key, required this.barTitle});
|
||||
|
||||
@@ -12,6 +12,18 @@ class MyAppDrawer extends StatefulWidget {
|
||||
class _MyAppDrawerState extends State<MyAppDrawer> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Drawer();
|
||||
return Drawer(
|
||||
child: ListView(
|
||||
padding: EdgeInsets.zero,
|
||||
children: [
|
||||
DrawerHeader(
|
||||
child: Text(widget.drawerTitle as String),
|
||||
decoration: const BoxDecoration(
|
||||
color: Colors.blueAccent,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,49 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:patient_manager/components/homeTileGrid.dart';
|
||||
import 'package:patient_manager/components/myAppBar.dart';
|
||||
import 'package:patient_manager/components/myAppDrawer.dart';
|
||||
import 'package:patient_manager/main.dart';
|
||||
|
||||
class Home extends StatelessWidget {
|
||||
const Home({super.key});
|
||||
class Home extends StatefulWidget {
|
||||
//final String userEmail;
|
||||
const Home({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
State<Home> createState() => _HomeState();
|
||||
}
|
||||
|
||||
class _HomeState extends State<Home> {
|
||||
String useremail = "";
|
||||
|
||||
Future<void> getUserEmail() async {
|
||||
final res = await client.auth.getUser();
|
||||
if (res.user!.email != null) {
|
||||
print("emai not null");
|
||||
useremail = res.user!.email!;
|
||||
print(useremail);
|
||||
}
|
||||
}
|
||||
|
||||
String getEmail() {
|
||||
return useremail;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(50),
|
||||
child: MyAppBar(
|
||||
barTitle: "Mzanzi Innovation Hub",
|
||||
),
|
||||
),
|
||||
return FutureBuilder(
|
||||
future: getUserEmail(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.done) {
|
||||
return Scaffold(
|
||||
appBar: MyAppBar(barTitle: "Mzanzi Innovation Hub"),
|
||||
body: HomeTileGrid(),
|
||||
drawer: MyAppDrawer(drawerTitle: useremail),
|
||||
);
|
||||
} else {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:patient_manager/components/myAppBar.dart';
|
||||
|
||||
class PatientManager extends StatefulWidget {
|
||||
const PatientManager({super.key});
|
||||
|
||||
@override
|
||||
State<PatientManager> createState() => _PatientManagerState();
|
||||
}
|
||||
|
||||
class _PatientManagerState extends State<PatientManager> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(50),
|
||||
child: MyAppBar(
|
||||
barTitle: "Mzanzi Innovation Hub",
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -17,9 +17,14 @@ class _RegisterState extends State<Register> {
|
||||
final emailController = TextEditingController();
|
||||
final passwordController = TextEditingController();
|
||||
final confirmPasswordController = TextEditingController();
|
||||
final officeID = TextEditingController();
|
||||
|
||||
bool _obscureText = true;
|
||||
//sign user in
|
||||
Future<void> signUserUp() async {
|
||||
if (passwordController.text != confirmPasswordController.text) {
|
||||
loginError("Passwords do not match");
|
||||
} else {
|
||||
try {
|
||||
final response = await client.auth.signUp(
|
||||
email: emailController.text,
|
||||
@@ -32,6 +37,8 @@ class _RegisterState extends State<Register> {
|
||||
loginError(error.message);
|
||||
emailController.clear();
|
||||
passwordController.clear();
|
||||
confirmPasswordController.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,6 +90,16 @@ class _RegisterState extends State<Register> {
|
||||
//spacer
|
||||
const SizedBox(height: 25),
|
||||
//email input
|
||||
SizedBox(
|
||||
width: 500.0,
|
||||
child: MyTextField(
|
||||
controller: officeID,
|
||||
hintText: 'OfficeID',
|
||||
),
|
||||
),
|
||||
//spacer
|
||||
const SizedBox(height: 25),
|
||||
//email input
|
||||
SizedBox(
|
||||
width: 500.0,
|
||||
child: MyTextField(
|
||||
@@ -128,7 +145,7 @@ class _RegisterState extends State<Register> {
|
||||
),
|
||||
),
|
||||
//spacer
|
||||
const SizedBox(height: 50),
|
||||
const SizedBox(height: 30),
|
||||
// sign up button
|
||||
SizedBox(
|
||||
width: 500.0,
|
||||
|
||||
@@ -26,7 +26,7 @@ class _SignInState extends State<SignIn> {
|
||||
password: passwordController.text,
|
||||
);
|
||||
if (response.session != null) {
|
||||
Navigator.of(context).pushNamed('/homme');
|
||||
Navigator.of(context).pushNamed('/homme', arguments: "Yaso");
|
||||
}
|
||||
} on AuthException catch (error) {
|
||||
loginError(error.message);
|
||||
|
||||
@@ -5,13 +5,18 @@ import 'package:patient_manager/pages/home.dart';
|
||||
|
||||
class RouteGenerator {
|
||||
static Route<dynamic> generateRoute(RouteSettings settings) {
|
||||
//final args = settings.arguments;
|
||||
final args = settings.arguments;
|
||||
|
||||
switch (settings.name) {
|
||||
case '/':
|
||||
return MaterialPageRoute(builder: (_) => AuthCheck());
|
||||
case '/home':
|
||||
return MaterialPageRoute(builder: (_) => const Home());
|
||||
if (args is String) {
|
||||
return MaterialPageRoute(
|
||||
builder: (_) => const Home(),
|
||||
);
|
||||
}
|
||||
|
||||
// case '/signin':
|
||||
// return MaterialPageRoute(builder: (_) => const SignInOrRegister());
|
||||
// //case '/signIn':
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user