diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin index 4adc577d..4871b2e6 100644 Binary files a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/e24689ac-95d2-47b4-8423-5b58dd500594 b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/e24689ac-95d2-47b4-8423-5b58dd500594 deleted file mode 100644 index 6aa90286..00000000 Binary files a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/e24689ac-95d2-47b4-8423-5b58dd500594 and /dev/null differ diff --git a/Frontend/patient_manager/lib/components/myAppBar.dart b/Frontend/patient_manager/lib/components/myAppBar.dart index 90c20882..c34d100a 100644 --- a/Frontend/patient_manager/lib/components/myAppBar.dart +++ b/Frontend/patient_manager/lib/components/myAppBar.dart @@ -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}); diff --git a/Frontend/patient_manager/lib/components/myAppDrawer.dart b/Frontend/patient_manager/lib/components/myAppDrawer.dart index e2cddbf8..afec9709 100644 --- a/Frontend/patient_manager/lib/components/myAppDrawer.dart +++ b/Frontend/patient_manager/lib/components/myAppDrawer.dart @@ -12,6 +12,18 @@ class MyAppDrawer extends StatefulWidget { class _MyAppDrawerState extends State { @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, + ), + ), + ], + ), + ); } } diff --git a/Frontend/patient_manager/lib/pages/home.dart b/Frontend/patient_manager/lib/pages/home.dart index f5dbe240..896b7f16 100644 --- a/Frontend/patient_manager/lib/pages/home.dart +++ b/Frontend/patient_manager/lib/pages/home.dart @@ -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 createState() => _HomeState(); +} + +class _HomeState extends State { + String useremail = ""; + + Future 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", - ), - ), - body: HomeTileGrid(), - ); + 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()); + } + }); } } diff --git a/Frontend/patient_manager/lib/pages/patientManager.dart b/Frontend/patient_manager/lib/pages/patientManager.dart new file mode 100644 index 00000000..461a90da --- /dev/null +++ b/Frontend/patient_manager/lib/pages/patientManager.dart @@ -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 createState() => _PatientManagerState(); +} + +class _PatientManagerState extends State { + @override + Widget build(BuildContext context) { + return const Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(50), + child: MyAppBar( + barTitle: "Mzanzi Innovation Hub", + ), + ), + ); + } +} diff --git a/Frontend/patient_manager/lib/pages/register.dart b/Frontend/patient_manager/lib/pages/register.dart index 1332acbd..e50ef938 100644 --- a/Frontend/patient_manager/lib/pages/register.dart +++ b/Frontend/patient_manager/lib/pages/register.dart @@ -17,21 +17,28 @@ class _RegisterState extends State { final emailController = TextEditingController(); final passwordController = TextEditingController(); final confirmPasswordController = TextEditingController(); + final officeID = TextEditingController(); + bool _obscureText = true; //sign user in Future signUserUp() async { - try { - final response = await client.auth.signUp( - email: emailController.text, - password: passwordController.text, - ); - if (response.session != null) { - Navigator.of(context).pushNamed('/homme'); + if (passwordController.text != confirmPasswordController.text) { + loginError("Passwords do not match"); + } else { + try { + final response = await client.auth.signUp( + email: emailController.text, + password: passwordController.text, + ); + if (response.session != null) { + Navigator.of(context).pushNamed('/homme'); + } + } on AuthException catch (error) { + loginError(error.message); + emailController.clear(); + passwordController.clear(); + confirmPasswordController.clear(); } - } on AuthException catch (error) { - loginError(error.message); - emailController.clear(); - passwordController.clear(); } } @@ -83,6 +90,16 @@ class _RegisterState extends State { //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 { ), ), //spacer - const SizedBox(height: 50), + const SizedBox(height: 30), // sign up button SizedBox( width: 500.0, diff --git a/Frontend/patient_manager/lib/pages/signin.dart b/Frontend/patient_manager/lib/pages/signin.dart index 8b092011..a84f6603 100644 --- a/Frontend/patient_manager/lib/pages/signin.dart +++ b/Frontend/patient_manager/lib/pages/signin.dart @@ -26,7 +26,7 @@ class _SignInState extends State { 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); diff --git a/Frontend/patient_manager/lib/router/routeGenerator.dart b/Frontend/patient_manager/lib/router/routeGenerator.dart index 2a547926..f87b7f14 100644 --- a/Frontend/patient_manager/lib/router/routeGenerator.dart +++ b/Frontend/patient_manager/lib/router/routeGenerator.dart @@ -5,13 +5,18 @@ import 'package:patient_manager/pages/home.dart'; class RouteGenerator { static Route 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': diff --git a/backend/routers/__pycache__/docOffices.cpython-310.pyc b/backend/routers/__pycache__/docOffices.cpython-310.pyc index 82e31ec7..c92f5812 100644 Binary files a/backend/routers/__pycache__/docOffices.cpython-310.pyc and b/backend/routers/__pycache__/docOffices.cpython-310.pyc differ diff --git a/database/#ib_16384_0.dblwr b/database/#ib_16384_0.dblwr index 932ffd01..865e877b 100644 Binary files a/database/#ib_16384_0.dblwr and b/database/#ib_16384_0.dblwr differ diff --git a/database/#innodb_redo/#ib_redo10 b/database/#innodb_redo/#ib_redo10 index 5e3a999e..15571427 100644 Binary files a/database/#innodb_redo/#ib_redo10 and b/database/#innodb_redo/#ib_redo10 differ diff --git a/database/#innodb_temp/temp_1.ibt b/database/#innodb_temp/temp_1.ibt new file mode 100644 index 00000000..211adc12 Binary files /dev/null and b/database/#innodb_temp/temp_1.ibt differ diff --git a/database/#innodb_temp/temp_10.ibt b/database/#innodb_temp/temp_10.ibt new file mode 100644 index 00000000..43c384bb Binary files /dev/null and b/database/#innodb_temp/temp_10.ibt differ diff --git a/database/#innodb_temp/temp_2.ibt b/database/#innodb_temp/temp_2.ibt new file mode 100644 index 00000000..88beaa13 Binary files /dev/null and b/database/#innodb_temp/temp_2.ibt differ diff --git a/database/#innodb_temp/temp_3.ibt b/database/#innodb_temp/temp_3.ibt new file mode 100644 index 00000000..620edb9a Binary files /dev/null and b/database/#innodb_temp/temp_3.ibt differ diff --git a/database/#innodb_temp/temp_4.ibt b/database/#innodb_temp/temp_4.ibt new file mode 100644 index 00000000..8b11c37b Binary files /dev/null and b/database/#innodb_temp/temp_4.ibt differ diff --git a/database/#innodb_temp/temp_5.ibt b/database/#innodb_temp/temp_5.ibt new file mode 100644 index 00000000..858e290c Binary files /dev/null and b/database/#innodb_temp/temp_5.ibt differ diff --git a/database/#innodb_temp/temp_6.ibt b/database/#innodb_temp/temp_6.ibt new file mode 100644 index 00000000..a8bee4df Binary files /dev/null and b/database/#innodb_temp/temp_6.ibt differ diff --git a/database/#innodb_temp/temp_7.ibt b/database/#innodb_temp/temp_7.ibt new file mode 100644 index 00000000..9e2ceff3 Binary files /dev/null and b/database/#innodb_temp/temp_7.ibt differ diff --git a/database/#innodb_temp/temp_8.ibt b/database/#innodb_temp/temp_8.ibt new file mode 100644 index 00000000..7856b1e8 Binary files /dev/null and b/database/#innodb_temp/temp_8.ibt differ diff --git a/database/#innodb_temp/temp_9.ibt b/database/#innodb_temp/temp_9.ibt new file mode 100644 index 00000000..df5d6e11 Binary files /dev/null and b/database/#innodb_temp/temp_9.ibt differ diff --git a/database/binlog.000005 b/database/binlog.000005 new file mode 100644 index 00000000..320c7a6e Binary files /dev/null and b/database/binlog.000005 differ diff --git a/database/ibdata1 b/database/ibdata1 index 68f16d03..903e2a8b 100644 Binary files a/database/ibdata1 and b/database/ibdata1 differ diff --git a/database/ibtmp1 b/database/ibtmp1 new file mode 100644 index 00000000..9977c925 Binary files /dev/null and b/database/ibtmp1 differ diff --git a/database/mysql.ibd b/database/mysql.ibd index 4612bcc6..639c6031 100644 Binary files a/database/mysql.ibd and b/database/mysql.ibd differ diff --git a/database/patient_manager/users.ibd b/database/patient_manager/users.ibd index 71c659bf..cdc91e0f 100644 Binary files a/database/patient_manager/users.ibd and b/database/patient_manager/users.ibd differ diff --git a/database/undo_001 b/database/undo_001 index 1d6d7823..bed10812 100644 Binary files a/database/undo_001 and b/database/undo_001 differ diff --git a/database/undo_002 b/database/undo_002 index e2eaa8ae..88791338 100644 Binary files a/database/undo_002 and b/database/undo_002 differ