From a4d811bdc4c1293a050a12a84394bf721cc79e3c Mon Sep 17 00:00:00 2001 From: yaso-meth Date: Mon, 12 Aug 2024 12:25:22 +0200 Subject: [PATCH] change augument businessUpdateauguments to businessArguments --- .../lib/components/buildPatientList.dart | 89 +++++++++++++------ .../lib/components/homeTileGrid.dart | 12 ++- .../lib/objects/arguments.dart | 4 +- .../lib/pages/profileBusinessUpdate.dart | 2 +- .../lib/router/routeGenerator.dart | 6 +- 5 files changed, 78 insertions(+), 35 deletions(-) diff --git a/Frontend/patient_manager/lib/components/buildPatientList.dart b/Frontend/patient_manager/lib/components/buildPatientList.dart index 81618dcb..ab0214a8 100644 --- a/Frontend/patient_manager/lib/components/buildPatientList.dart +++ b/Frontend/patient_manager/lib/components/buildPatientList.dart @@ -21,25 +21,34 @@ class BuildPatientsList extends StatefulWidget { class _BuildPatientsListState extends State { Widget isMainMember(int index) { + //var matchRE = RegExp(r'^[a-z]+$'); + var firstLetterFName = widget.patients[index].first_name[0]; + var firstLetterLName = widget.patients[index].last_name[0]; + var fnameStar = '*' * 8; + var lnameStar = '*' * 8; + if (widget.patients[index].medical_aid_main_member == "Yes") { return Row( mainAxisSize: MainAxisSize.max, children: [ - Icon( - Icons.star_border_rounded, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), Text( - "${widget.patients[index].first_name} ${widget.patients[index].last_name}", + "$firstLetterFName$fnameStar $firstLetterLName$lnameStar", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), ), + const SizedBox( + width: 10, + ), + Icon( + Icons.star_border_rounded, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), ], ); } else { return Text( - "${widget.patients[index].first_name} ${widget.patients[index].last_name}", + "$firstLetterFName$fnameStar $firstLetterLName$lnameStar", style: TextStyle( color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), ), @@ -47,6 +56,53 @@ class _BuildPatientsListState extends State { } } + Widget hasMedicalAid(int index) { + var medAidNoStar = '*' * 8; + if (widget.patients[index].medical_aid == "Yes") { + return ListTile( + title: isMainMember(index), + subtitle: Text( + "ID No.: ${widget.patients[index].id_no}\nMedical Aid No.: $medAidNoStar", + style: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + onTap: () { + setState(() { + Navigator.of(context).pushNamed('/patient-manager/patient', + arguments: PatientViewArguments( + widget.signedInUser, widget.patients[index], "business")); + }); + }, + trailing: Icon( + Icons.arrow_forward, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ); + } else { + return ListTile( + title: isMainMember(index), + subtitle: Text( + "ID No.: ${widget.patients[index].id_no}\nMedical Aid No.: $medAidNoStar", + style: TextStyle( + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ), + onTap: () { + setState(() { + Navigator.of(context).pushNamed('/patient-manager/patient', + arguments: PatientViewArguments( + widget.signedInUser, widget.patients[index], "business")); + }); + }, + trailing: Icon( + Icons.arrow_forward, + color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), + ), + ); + } + } + @override Widget build(BuildContext context) { return ListView.separated( @@ -59,26 +115,7 @@ class _BuildPatientsListState extends State { itemBuilder: (context, index) { //final patient = widget.patients[index].id_no.contains(widget.searchString); //print(index); - return ListTile( - title: isMainMember(index), - subtitle: Text( - "ID No.: ${widget.patients[index].id_no}\nMedical Aid No.: ${widget.patients[index].medical_aid_no}", - style: TextStyle( - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ), - onTap: () { - setState(() { - Navigator.of(context).pushNamed('/patient-manager/patient', - arguments: PatientViewArguments( - widget.signedInUser, widget.patients[index], "business")); - }); - }, - trailing: Icon( - Icons.arrow_forward, - color: MzanziInnovationHub.of(context)!.theme.secondaryColor(), - ), - ); + return hasMedicalAid(index); }, ); } diff --git a/Frontend/patient_manager/lib/components/homeTileGrid.dart b/Frontend/patient_manager/lib/components/homeTileGrid.dart index bea12b79..7b2b271c 100644 --- a/Frontend/patient_manager/lib/components/homeTileGrid.dart +++ b/Frontend/patient_manager/lib/components/homeTileGrid.dart @@ -125,7 +125,7 @@ class _HomeTileGridState extends State { () { Navigator.of(context).pushNamed( '/business-profile', - arguments: BusinessUpdateArguments( + arguments: BusinessArguments( widget.signedInUser, widget.businessUser, widget.business, @@ -143,8 +143,14 @@ class _HomeTileGridState extends State { Icons.medication, "Manage Patient", () { - Navigator.of(context) - .pushNamed('/patient-manager', arguments: widget.signedInUser); + Navigator.of(context).pushNamed( + '/patient-manager', + arguments: BusinessArguments( + widget.signedInUser, + widget.businessUser, + widget.business, + ), + ); // Navigator.popAndPushNamed(context, '/patient-manager', // arguments: widget.userEmail); } diff --git a/Frontend/patient_manager/lib/objects/arguments.dart b/Frontend/patient_manager/lib/objects/arguments.dart index 44f56f72..af8b877f 100644 --- a/Frontend/patient_manager/lib/objects/arguments.dart +++ b/Frontend/patient_manager/lib/objects/arguments.dart @@ -3,12 +3,12 @@ import 'package:patient_manager/objects/business.dart'; import 'package:patient_manager/objects/businessUser.dart'; import 'package:patient_manager/objects/patients.dart'; -class BusinessUpdateArguments { +class BusinessArguments { final AppUser signedInUser; final BusinessUser? businessUser; final Business? business; - BusinessUpdateArguments( + BusinessArguments( this.signedInUser, this.businessUser, this.business, diff --git a/Frontend/patient_manager/lib/pages/profileBusinessUpdate.dart b/Frontend/patient_manager/lib/pages/profileBusinessUpdate.dart index 82d11624..5a49f85e 100644 --- a/Frontend/patient_manager/lib/pages/profileBusinessUpdate.dart +++ b/Frontend/patient_manager/lib/pages/profileBusinessUpdate.dart @@ -19,7 +19,7 @@ import 'package:supertokens_flutter/supertokens.dart'; import 'package:http/http.dart' as http2; class ProfileBusinessUpdate extends StatefulWidget { - final BusinessUpdateArguments arguments; + final BusinessArguments arguments; //final AppUser signedInUser; const ProfileBusinessUpdate({ super.key, diff --git a/Frontend/patient_manager/lib/router/routeGenerator.dart b/Frontend/patient_manager/lib/router/routeGenerator.dart index 0d701c2d..c4abc214 100644 --- a/Frontend/patient_manager/lib/router/routeGenerator.dart +++ b/Frontend/patient_manager/lib/router/routeGenerator.dart @@ -38,11 +38,11 @@ class RouteGenerator { return _errorRoute(); case '/patient-manager': - if (args is AppUser) { + if (args is BusinessArguments) { //print("route generator: $args"); return MaterialPageRoute( builder: (_) => PatientManager( - signedInUser: args, + arguments: args, ), ); } @@ -89,7 +89,7 @@ class RouteGenerator { return _errorRoute(); case '/business-profile': - if (args is BusinessUpdateArguments) { + if (args is BusinessArguments) { return MaterialPageRoute( builder: (_) => ProfileBusinessUpdate( arguments: args,